<div style="text-align:left">Thanks for the tips... After some additional futzing, I've gotten very close.  Everything compiles, but native links fail with messages like "librt.so: could not read symbols: File in wrong format".  I determined this is because the "-Wl,-EL" flags I specify for the compiles aren't being passed on to libtool.  libtool is smart enough to pull in the little-endian libraries, but without the link flag it generates this error because it expects everything to be big endian.<br>
<br>When I manually extracted the actual link command line generated by libtool (by removing the --quiet arg) to a script, and manually edited in "-Wl,-EL" I was able to successfully create libmono-2.0.so.1.0.0.  So my question is, anyone know how can I pass link flags into libtool?<br>
<br>TIA --- TMM<br></div><br><div class="gmail_quote">On Wed, Mar 28, 2012 at 4:21 PM, Autif Khan <span dir="ltr"><<a href="mailto:autif.mlist@gmail.com">autif.mlist@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class="HOEnZb"><div class="h5">>> Hello---<br>
>><br>
>> I'm trying to cross-compile mono 2.10.2 from the source tarball.  My build<br>
>> machine is an x86 Linux PC running Fedora (could use one of the other<br>
>> distros of that makes things easier).  The target is a SOC with a vanilla<br>
>> MIPS 24Kc core (little-endian, no FPU).<br>
>><br>
>> I found some instructions for ARM (<a href="http://mono-project.com/Mono%3aARM" target="_blank">http://mono-project.com/Mono%3aARM</a> &<br>
>> <a href="http://stackoverflow.com/questions/4955314/cross-compile-mono-for-arm" target="_blank">http://stackoverflow.com/questions/4955314/cross-compile-mono-for-arm</a>) which<br>
>> I tried to adapt for MIPS, but have come up short.  I'll spare the error<br>
>> messages, but it dies in ./configure.  I believe the root cause is not<br>
>> setting the right combination of environment variables for confogure to<br>
>> properly use the CodeSourcery 3.93 toolchain.<br>
>><br>
>> Specifically, I don't see (from looking at the output of ./configure --help)<br>
>> how to override the default x86 headers and libraries, which would be needed<br>
>> in addition to the compiler, linker, etc.  Does anyone have more detailed<br>
>> instructions on how I might accomplish this?  I am not a newbie, but am<br>
>> somewhat new to cross-compiling.  The tutorial information I've been able to<br>
>> find on automake, etc, is very general.<br>
>><br>
>> If I get enough hints to pull this off I'll be happy to write up a detailed<br>
>> Wiki by way of compensation.<br>
>><br>
>> Thx in advance---<br>
>><br>
>> Maadmole<br>
>> ================<br>
>><br>
>> _prefix=mips-linux-gnu<br>
>> export CC=$CSRC_ROOT/${_prefix}-gcc<br>
>> export CXX=$CSRC_ROOT/${_prefix}-g++<br>
>> export CPP=$CSRC_ROOT/${_prefix}-cpp<br>
>><br>
>> ./configure --prefix=/usr/local --disable-mcs-build --host=mipsel<br>
>> --enable-minimal=profiler,debug,logging,soft_debug --without-mcs-docs<br>
>> --disable-mono-debugger<br>
>><br>
><br>
> See of the following config options work for you.<br>
><br>
> I use them for my embedded mono (x86 and arm)<br>
><br>
> --disable-mcs-build mono_cv_uscore=no --with-tls=pthread<br>
> --with-sigaltstack=no --with-mcs-docs=no<br>
<br>
</div></div>Oh, I also had to apply a few patches - they are included below. The<br>
last one will not be required for 2.10.11<br>
<br>
--- mono-2.10.8.1.orig/Makefile.am      2012-01-25 14:24:43.564002232 -0500<br>
+++ mono-2.10.8.1/Makefile.am   2012-01-25 14:25:02.036002218 -0500<br>
@@ -4,10 +4,10 @@<br>
 MOONLIGHT_SUBDIRS = $(libgc_dir) eglib/src mono<br>
<br>
 if CROSS_COMPILING<br>
-SUBDIRS = po $(libgc_dir) eglib mono $(ikvm_native_dir) data runtime<br>
scripts man samples msvc $(docs_dir)<br>
+SUBDIRS = po $(libgc_dir) eglib mono $(ikvm_native_dir) support data<br>
runtime scripts man samples msvc $(docs_dir)<br>
 # Keep in sync with SUBDIRS<br>
 ## 'tools' is not normally built<br>
-DIST_SUBDIRS = po libgc eglib mono ikvm-native         data runtime<br>
scripts man samples tools msvc docs<br>
+DIST_SUBDIRS = po libgc eglib mono ikvm-native support data runtime<br>
scripts man samples tools msvc docs<br>
 else<br>
 if ONLY_MOONLIGHT<br>
 SUBDIRS = $(MOONLIGHT_SUBDIRS) runtime<br>
<br>
--- mono-2.10.8.1.orig/data/<a href="http://config.in" target="_blank">config.in</a>   2012-01-27 09:29:07.072001924 -0500<br>
+++ mono-2.10.8.1/data/<a href="http://config.in" target="_blank">config.in</a>        2012-01-27 09:30:59.740001933 -0500<br>
@@ -15,7 +15,7 @@<br>
        <dllmap dll="i:msvcrt.dll" target="@LIBC@" os="!windows"/><br>
        <dllmap dll="sqlite" target="@SQLITE@" os="!windows"/><br>
        <dllmap dll="sqlite3" target="@SQLITE3@" os="!windows"/><br>
-       <dllmap dll="libX11" target="@X11@" os="!windows" /><br>
+       <dllmap dll="libX11" target="libX11.so.6" os="!windows" /><br>
        <dllmap dll="libcairo-2.dll" target="libcairo.so.2" os="!windows"/><br>
        <dllmap dll="libcairo-2.dll" target="libcairo.2.dylib" os="osx"/><br>
        <dllmap dll="libcups" target="libcups.so.2" os="!windows"/><br>
<br>
--- mono-2.10.8.1.orig/mcs/class/Makefile       2012-01-27 16:20:36.319297999 -0500<br>
+++ mono-2.10.8.1/mcs/class/Makefile    2012-01-27 20:37:30.867593825 -0500<br>
@@ -55,10 +55,8 @@<br>
        Novell.Directory.Ldap           \<br>
        Mono.Security.Win32             \<br>
        System.DirectoryServices        \<br>
-       RabbitMQ.Client                 \<br>
        Mono.Messaging                  \<br>
        System.Messaging                \<br>
-       Mono.Messaging.RabbitMQ         \<br>
        System.ServiceProcess           \<br>
        System.Drawing.Design           \<br>
        System.Design                   \<br>
</blockquote></div><br>