[Mono-dev] Mono 1.2.4, preparation rituals.

Andreas Färber andreas.faerber at web.de
Fri Apr 20 16:03:09 EDT 2007


Hello,

>> The Wiki has not yet reflected this:
>> http://www.mono-project.com/Supported_Platforms
>> http://www.mono-project.com/Mono:AMD64
>> http://www.mono-project.com/Mono:Solaris
>> Or are you still waiting due to the unpatched included Boehm GC?
>
> Could you contribute the documentation on what is needed to run  
> Mono on
> the Solaris/amd64 configuration?

The main magic was to use an environment variable CC="gcc -m64":
e.g. CC="gcc -m64" ./autogen.sh [...]
In parallel, for "[g]make check" AS="[g]as -64" was necessary.  
Similarly, depending on the build tools used some other variables  
(MAKE=gmake RANLIB=granlib AR=gar STRIP=gstrip) are necessary too but  
those are not specific to the amd64 target.

This was tested on Solaris 10, which ships a 64-bit glib, so the only  
other things I did was PKG_CONFIG_PATH=/usr/lib/amd64/pkgconfig (to  
get the correct linker and include options) and exporting  
LD_LIBRARY_PATH=/usr/sfw/lib/amd64:$LD_LIBRARY_PATH (not sure for  
what exactly this was).

The directory layout convention on Solaris/x86 is the following:
.../bin (32-bit executables or wrapper scripts checking the current  
architecture)
.../bin/amd64 (64-bit executables)
.../bin/64 (symlink to amd64)
.../lib (32-bit libraries)
.../lib/amd64 (64-bit libraries)
.../lib/64 (symlink to amd64)

Thus, I configure with --bindir=.../bin/amd64 --libdir=.../lib/amd64  
- note that only the mono/ tree supports these switches (according to  
the Wiki they're unsupported) while the mcs/ tree will install its  
jay to a hardcoded bin/ dir, potentially overwriting a 32-bit version  
there so that for my final builds I used --disable-mcs-build. That  
way, given that .../bin is on the PATH, calling mono will execute the  
standard 32-bit Mono while explicitly calling .../bin/amd64/mono will  
execute the new 64-bit Mono.

As a reminder there's the Boehm GC issue; you proposed to use --with- 
gc=system. As an alternative option I will shortly attach my GC patch  
to the Bugzilla issue for anyone interested.
http://bugzilla.ximian.com/show_bug.cgi?id=81325

Some generic compilation instructions for Solaris 10 x86 I recently  
posted to the list:
http://lists.ximian.com/pipermail/mono-list/2007-January/034101.html
(And I verified that in step 4 the CFLAGS are apparently no longer  
needed.)

Andreas



More information about the Mono-devel-list mailing list