Hello, This mail is to share info on building Mono 1.9.1 on OpenSolaris 2008-05, i86 and amd64.
OpenSolaris uses GNU tar and GNU make by default, so that the Solaris workarounds are no longer necessary in that area. OpenSolaris still has a /usr/bin/mcs command that interferes with bootstrapping, if you have the root role you can temporarily rename that file. OpenSolaris as installed from CD does not include pkg-config, it gets installed by updating "entire" in Package Manager; if compiling it yourself instead, configure Mono with PKG_CONFIG_PATH=/usr/lib/ pkgconfig for the 32-bit system packages to be picked up. Compiling with Mono's libgc breaks the build, resulting in "error CS8025: Parsing error". Compiling against OpenSolaris' libgc breaks the build with two undefined references (...pthread_detach and another). Compiling and using Boehm GC 7.1 (using appropriate CPPFLAGS and LDFLAGS) works fine, sigaltstack is disabled by default then. For amd64, use Boehm GC 7.0. 7.1's libatomic_ops includes xmmintrin.h, which is unavailable; modifying 7.1's standard_ao_double_t.h to not use that __x86_64__ section appears to be another option. Configure with PKG_CONFIG_PATH=/usr/lib/amd64/pkgconfig so that the 64- bit ones are picked up, and specify --with-sigaltstack=no (to avoid a segmentation fault). Like for Solaris, specify -m64 for CFLAGS and friends. Export LD_LIBRARY_PATH=/usr/sfw/lib/amd64 for Mono to find the right libgcc_s.so.1 (LD_LIBRARY_PATH64 does not seem to work). For either architecture, if you are installing to your own prefix (e.g., /opt/mono), consider adding -R/opt/mono/lib (or whatever you used for --libdir, e.g. /opt/mono/lib/amd64) to your LDFLAGS to save you some $LD_LIBRARY_PATH trouble later on. Andreas _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
