[Mono-dev] building mono on OpenSolaris x86_64

Απόστολος Συρόπουλος asyropoulos123 at hotmail.com
Sun Mar 6 16:01:02 EST 2011


I am trying to build mono 2.10.1 on OpenSolaris x86_64. I have manually compiled 
gc-7.1 and I have configured mono with the following command:

CC=x86_64-pc-solaris2.11-gcc CXX=x86_64-pc-solaris2.11-g++ 
CFLAGS="-I/opt/mono/include" LDFLAGS="-m64 -L/opt/mono/lib -R/opt/mono/lib" \
./configure --with-gc=boehm --prefix=/opt/mono --enable-big-arrays --enable-dtrace

where x86_64-pc-solaris2.11-gcc and x86_64-pc-solaris2.11-g++ are wrappers to call
the actual gcc and g++ compilers in 64 mode. Unfortunately, compilation
terminates as follows:

make[4]: Entering directory `/container/mono/latest/mono-2.10.1/mono/mini'
-e LD    mono
Undefined            first referenced
 symbol                  in file
__dtraceenabled_mono___method__compile__end ./.libs/libmono-static.a(libmono_static_la-mini.o)
__dtrace_mono___ves__init__begin    ./.libs/libmono-static.a(libmono_static_la-mini.o)
__dtrace_mono___ves__init__end      ./.libs/libmono-static.a(libmono_static_la-mini.o)
__dtrace_mono___method__compile__end ./.libs/libmono-static.a(libmono_static_la-mini.o)
__dtraceenabled_mono___method__compile__begin ./.libs/libmono-static.a(libmono_static_la-mini.o)
__dtrace_mono___method__compile__begin ./.libs/libmono-static.a(libmono_static_la-mini.o)
ld: fatal: symbol referencing errors. No output written to mono
collect2: ld returned 1 exit status

The problem is that these symbols are not defined! For example in mono/utils/mono-dtrace.h
one sees the following:

extern void __dtrace_mono___ves__init__begin(void);

but nowhere one can find a real definition of this function. So either the dtrace part is not 
working and it should be disabled by default, which is not the case, or I am doing something 

Thanks in advance for your help/assistance.


PS The following page


states that one needs to configure using

$ export PKG_CONFIG_PATH=/usr/lib/amd64/pkgconfig
$ export CC='gcc -m64'
$ export AS='as -64'
$ ./configure --with-gc=system [...]The third on is not needed and the configure line should read as follows

 $ ./configure --with-gc=boehm

Also, one has to specifiy which C++ compiler to use so I gues something like

$ export CXX='g++ -m64' 

is needed, but I believe that it is better to use scripts. So please update this

Apostols Syropoulos
Xanthi, Greece

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20110306/72c249a8/attachment.html 

More information about the Mono-devel-list mailing list