[Mono-devel-list] ARM Cross Compilation (make install)

Thomas Winkler tom at qwws.net
Thu Oct 7 04:59:00 EDT 2004


Hello,

I'm trying to get Mono running on an ARM CPU (XScale, Big Endian Mode). I 
managed to cross compile mono for the ARM unsing a crosscompiler on an x86 
machine. The binaries I get seem to be ok (at least the file commant tells me 
that for example mint is an MSB ARM executable).

When I did the configure I specified a --prefix where I want the mono 
direcotry layout to be created when doing a "make install". My plan is to 
then copy those to the XScale machine. But when doing a "make install" I get 
the following error:

[...]
/bin/sh ../../../mkinstalldirs /home/tom/tmp/mono_build/install/lib
 /usr/bin/install -c -m 
644 ../../../runtime/net_1_1/mscorlib.dll /home/tom/tmp/mono_build/install/lib/mscorlib.dll
MONO_PATH=../../../runtime/net_1_1 ../../mono/interpreter/mint 
--config ../../data/config ../../../runtime/net_1_1/../gacutil.exe /i ../../../runtime/net_1_1/Accessibility.dll /f /package 
1.0 /gacdir /home/tom/tmp/mono_build/install/lib /root /home/tom/tmp/mono_build/install/lib
/home/tom/tmp/mono_build/mono-1.0.2/build_xscale/runtime/net_1_1/../../mono/interpreter/mint: 
line 
110: /home/tom/tmp/mono_build/mono-1.0.2/build_xscale/mono/interpreter/.libs/lt-mint: 
cannot execute binary file
/home/tom/tmp/mono_build/mono-1.0.2/build_xscale/runtime/net_1_1/../../mono/interpreter/mint: 
line 
110: /home/tom/tmp/mono_build/mono-1.0.2/build_xscale/mono/interpreter/.libs/lt-mint: 
Success
make[3]: *** [install-data-local] Error 1
make[3]: Leaving directory 
`/home/tom/tmp/mono_build/mono-1.0.2/build_xscale/runtime/net_1_1'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory 
`/home/tom/tmp/mono_build/mono-1.0.2/build_xscale/runtime/net_1_1'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory 
`/home/tom/tmp/mono_build/mono-1.0.2/build_xscale/runtime'
make: *** [install-recursive] Error 1



The core message seems to be that the lt-mint binary can't be executed. That's 
somwhat clar since the binaries are cross compiled for ARM but "make install" 
tries to execute them on x86.
I now wanted to ask if there is any way to overcome this problem. I have 
thought about building a parallel x86 mono but I don't know how to tell the 
ARM build system about the x86 binaries.
Doing the compilation (and the make install) on the arm device itself is out 
of the question due to performance and space constraints. So I have to do it 
on x86.

If somebody can help me solving this problems I'd be happy.

Thanks in advance,
-- 
Thomas Winkler



More information about the Mono-devel-list mailing list