[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