[Mono-dev] Mono 1.2.4, preparation rituals.
andreas.faerber at web.de
Fri Apr 20 16:03:09 EDT 2007
>> The Wiki has not yet reflected this:
>> 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
.../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.
Some generic compilation instructions for Solaris 10 x86 I recently
posted to the list:
(And I verified that in step 4 the CFLAGS are apparently no longer
More information about the Mono-devel-list