From: Dan Bonachea (bonachea_at_cs_dot_berkeley_dot_edu)
Date: Fri Sep 22 2006 - 17:46:52 PDT
At 04:20 PM 9/22/2006, Konstantin Kleisouris wrote: >Hi all, > > I am experiencing difficulty in building libgasnet-smp-seq.a on a >sparc-sun-solaris2.7. The version of gcc on the machine is 2.95.2 > However, when gmake tries to build libgasnet-smp-seq.a I get: >`MAP_ANON' undeclared. > I have attached to the current e-mail the messages that I get when I >run the configure program (conflog file attachment) and the messages I >get when I run gmake (gmakelog attachement). > When I run configure I use -disable-mpi -disable-udp since I don't >need the udp or mpi conduits. Hi Konstantin - I suspect the issue arises because none of our Solaris test machines use that old an OS or compiler. Solaris 2.7 and gcc 2.95.2 are both *really* ancient - you should seriously consider upgrading them, for reasons of both performance and security. Both date back more than seven years (predating most UPC implementations), and Sun apparently stopped support fixes for 2.7 more than a year ago (I shudder to think how many known security vulnerabilities might exist in your kernel). Given the OS vendor doesn't even support that old OS anymore, we obviously cannot expend alot of effort trying to support our user-level software there. However, assuming an OS upgrade is impossible, we might still be able to get you up and running.. Contrary to Samy's post, I don't believe HAVE_MMAP could possibly have anything to do with it, because configure obviously auto-detected mmap capability on your system (otherwise the code in question would be disabled). It's more likely that old Solaris merely has a different spelling for the MAP_ANON symbol - gasnet_mmap.c already contains a number of system-specific incantations at the top for various OS's, and probably one is missing for old Solaris. Based on archived Solaris/mmap documentation here: http://docs.sun.com/app/docs/doc/805-3174/6j31do6fc?q=mmap&a=view I'd *guess* that the right fix is probably to add the following lines to the top of gasnet_mmap.c: #define GASNETI_MMAP_FLAGS (MAP_PRIVATE | MAP_NORESERVE) #define GASNETI_MMAP_FILE "/dev/zero" However, lacking access to a Solaris 7 system, I have no way to actually test that this works, so your mileage may vary. Please let us know how it goes... Hope this helps... Dan