[Mono-dev] Compiling with NaCl support

Raja R Harinath harinath at hurrynot.org
Tue Aug 17 06:05:00 EDT 2010


Kannan Goundan <kannan at cakoose.com> writes:

> On Mon, Aug 16, 2010 at 23:44, Raja R Harinath <harinath at hurrynot.org> wrote:
>> Kannan Goundan <kannan at cakoose.com> writes:
>> > I'm not too familiar with this stuff.  How do I cross compile Mono?  I
>> > tried adding "--target=i386-unknown-linux" to my "./autogen.sh"
>> > invocation, but I got the same error as before.
>> Well, we don't support JITing to a different architecture from the
>> host.  So, 'target' is not appropriate.  Unless you're building GCC or
>> Binutils, --target is mostly wrong.
> For JITing I can see how that makes sense.  Does AOT currently have
> the same restriction?

I think so :-)

> If I set "host" to i386, will I need to pull in tons of 32-bit
> libraries to get Mono to compile?

Mono is fairly self-contained.  The main external dependency was GLIB,
but we've been shipping our own alternative implementation (eglib) for
some time now.  If you're using the latest development sources from the
mono git repository, you'll find that we've completely moved to eglib.

To give you an indication of the external dependencies of the mono

  $ ./libtool --mode=execute ldd mono/mini/mono
	linux-vdso.so.1 =>  (0x00007fffdc5bb000)
	libm.so.6 => /lib/libm.so.6 (0x00007fc1f7637000)
	librt.so.1 => /lib/librt.so.1 (0x00007fc1f742f000)
	libdl.so.2 => /lib/libdl.so.2 (0x00007fc1f722a000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x00007fc1f700e000)
	libc.so.6 => /lib/libc.so.6 (0x00007fc1f6cad000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fc1f78f2000)

So, basically, only glibc.

Of course, if you are planning on using the LLVM AOT backend, you'll
need to install appropriate versions of LLVM.

- Hari

More information about the Mono-devel-list mailing list