[Mono-dev] Compilation problems with embedded ARM9
Bart Veldstra
bart.veldstra at nedap.com
Wed Oct 29 06:09:28 EDT 2008
Hello,
For my work I am trying to compile Mono for two embedded solutions, both
equipped with ARM processors. Sadly, I am running into problems getting
Mono to run properly. Until now I could solve them myself, but the
latest error message had me stumped.
First the error-message itself. It occurs with every single mono-app I
run, ranging from hello-world to mcs:
Unhandled Exception: System.TypeInitializationException: An exception
was thrown by the type initializer for
System.Runtime.Remoting.Contexts.Context ---> System.ArgumentException:
Size is too big
at System.Collections.Hashtable..ctor (Int32 capacity, Single
loadFactor, IHashCodeProvider hcp, IComparer comparer) [0x00000]
at System.Collections.Hashtable..ctor (Int32 capacity, Single
loadFactor) [0x00000]
at System.Collections.Hashtable..ctor () [0x00000]
at System.Runtime.Remoting.Contexts.Context..cctor () [0x00000]
--- End of inner exception stack trace ---
Because the tested programs run fine on the other embedded board as well
as my own workstation, I suspect I am making an error with cross
compiling.
I have compiled Mono as followed:
./configure \
--disable-mcs-build \
--enable-minimal=profiler,debug,com,large_code \
--host=arm-softfloat-linux-gnu \
--with-tls=pthread \
--with-sigaltstack=no
I had to make three alterations:
- force the symbol underscore setting by modifying ./configure
- set MONO_SIZEOF_SUNPATH to 108 (as found in linux/un.h) in config.h.
- force the absence of a FPU by modifying mini-arm.h to define
ARM_FPU_NONE
Concerning the exception itself, my only guess is that my processor
cannot manage Int32-datatypes. The processor itself is an ARM9
AT91RM9200.
Can you help me out?
Greetings,
Bart
More information about the Mono-devel-list
mailing list