[Mono-list] Compile mono 1.9.1 for arm linux

Chen, Michael (Dongliang) micchen2 at cisco.com
Thu Jul 24 09:59:55 EDT 2008


Tim,

I am trying to compile it for Freescale iMX21ads. Would you please check
which version of gcc/autoconf you used on ubuntu?

Thanks,
Dongliang

-----Original Message-----
Nice one.

I was building mono from the svn head, so no specific version sorry -
this was maybe a couple of months after 1.2.6 I think.

For N800 I was building mono using scratchbox with maemo sdk. This was
all on ubuntu gutsy.

What's your target?

Cheers,
Tim


On Thu, 2008-07-24 at 08:43 -0400, Chen, Michael (Dongliang) wrote:
> Tim,
> 
> Thank you very much for your help. That seems fix the linking issue.
Now
> I got an error, see below.
> 
> Would you mind let me know which version of mono you were compiling?
> What's the building environment, like gcc version, which Linux
> distribution you used?
> 
> Thanks in advance,
> Dongliang
> 
> ./configure --build=arm-linux --with-tls=pthread
> ...
> Make
> ...
> gcc -I../.. -I../../libgc/include -pthread -I/usr/include/glib-2.0
> -I/usr/lib/glib-2.0/include -g -O2 -fno-strict-aliasing
> -Wdeclaration-after-statement -g -Wall -Wunused -Wmissing-prototypes
> -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes
> -Wnested-externs -Wpointer-arith -Wno-cast-qual -Wcast-align
> -Wwrite-strings -mno-tls-direct-seg-refs -o genmdesc
genmdesc-genmdesc.o
> genmdesc-helpers.o ../../mono/metadata/.libs/opcodes.o -pthread
> ../../mono/utils/.libs/libmonoutils.a -lgthread-2.0 -lrt -lglib-2.0
-ldl
> -lpthread -lm
> ./genmdesc ./cpu-arm.md cpu-arm.h arm_cpu_desc
> 
> ** ERROR **: Invalid opcode 'arm_rsbs_imm' at line 275 in ./cpu-arm.md
> 
> aborting...
> make[3]: *** [cpu-arm.h] Aborted
> make[3]: Leaving directory `/work/mono/src/mono-1.9.1/mono/mini'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/work/mono/src/mono-1.9.1/mono'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/work/mono/src/mono-1.9.1'
> make: *** [all] Error 2
> 
> -----Original Message-----
> On Wed, 2008-07-23 at 13:58 -0400, Chen, Michael (Dongliang) wrote:
> > Hi all,
> > 
> > I am new to mono. I was trying to compile mono 1.9.1 for arm
> processor.
> > I downloaded mono-1.9.1.tar.bz2, uncompressed it. I got the
following
> > error while compiling it. 
> > 
> > If any one could point out what I did wrong and how to fix this
issue,
> > I'd appreciate it.
> > 
> > ./configure --build=arm-linux
> > ...
> > 
> > make
> > ...
> > /bin/sh ../../libtool --tag=CC   --mode=link gcc  -g -O2
> > -fno-strict-aliasing -Wdeclaration-after-statement -g -Wall -Wunused
> > -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes
> > -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual
> > -Wcast-align -Wwrite-strings -mno-tls-direct-seg-refs   -o pedump
> > pedump.o libmonoruntime.la ../io-layer/libwapi.la
> > ../utils/libmonoutils.la ../../libgc/libmonogc.la -pthread
> -lgthread-2.0
> > -lrt -lglib-2.0   -lm -ldl -lpthread -lm
> > gcc -g -O2 -fno-strict-aliasing -Wdeclaration-after-statement -g
-Wall
> > -Wunused -Wmissing-prototypes -Wmissing-declarations
> -Wstrict-prototypes
> > -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual
> > -Wcast-align -Wwrite-strings -mno-tls-direct-seg-refs -o pedump
> pedump.o
> > -pthread  ./.libs/libmonoruntime.a ../io-layer/.libs/libwapi.a
> > ../utils/.libs/libmonoutils.a ../../libgc/.libs/libmonogc.a
> > -lgthread-2.0 -lrt -lglib-2.0 -ldl -lpthread -lm
> > ./.libs/libmonoruntime.a(reflection.o): In function
> > `create_dynamic_mono_image':
> > /work/mono/src/mono-1.9.1/mono/metadata/reflection.c:4340: undefined
> > reference to `GC_local_malloc'
> > ./.libs/libmonoruntime.a(reflection.o): In function
> > `mono_image_basic_init':
> > /work/mono/src/mono-1.9.1/mono/metadata/reflection.c:4425: undefined
> > reference to `GC_local_malloc'
> > ./.libs/libmonoruntime.a(object.o): In function
> > `mono_object_new_ptrfree_box':
> > /work/mono/src/mono-1.9.1/mono/metadata/object.c:3447: undefined
> > reference to `GC_local_malloc_atomic'
> > ./.libs/libmonoruntime.a(object.o): In function
> > `mono_object_new_ptrfree':
> > /work/mono/src/mono-1.9.1/mono/metadata/object.c:3423: undefined
> > reference to `GC_local_malloc_atomic'
> > ./.libs/libmonoruntime.a(object.o): In function
> `mono_object_new_fast':
> > /work/mono/src/mono-1.9.1/mono/metadata/object.c:3415: undefined
> > reference to `GC_local_gcj_malloc'
> > ./.libs/libmonoruntime.a(object.o): In function
> > `mono_object_allocate_spec':
> > /work/mono/src/mono-1.9.1/mono/metadata/object.c:3329: undefined
> > reference to `GC_local_gcj_malloc'
> > ./.libs/libmonoruntime.a(object.o): In function
> `mono_object_allocate':
> > /work/mono/src/mono-1.9.1/mono/metadata/object.c:3304: undefined
> > reference to `GC_local_malloc'
> > ./.libs/libmonoruntime.a(object.o): In function
> > `mono_object_allocate_spec':
> > /work/mono/src/mono-1.9.1/mono/metadata/object.c:3329: undefined
> > reference to `GC_local_gcj_malloc'
> > ./.libs/libmonoruntime.a(object.o): In function
> > `mono_object_allocate_ptrfree':
> > /work/mono/src/mono-1.9.1/mono/metadata/object.c:3321: undefined
> > reference to `GC_local_malloc_atomic'
> > ./.libs/libmonoruntime.a(object.o): In function
> `mono_object_allocate':
> > /work/mono/src/mono-1.9.1/mono/metadata/object.c:3304: undefined
> > reference to `GC_local_malloc'
> > /work/mono/src/mono-1.9.1/mono/metadata/object.c:3304: undefined
> > reference to `GC_local_malloc'
> > ./.libs/libmonoruntime.a(object.o): In function
> > `mono_object_allocate_ptrfree':
> > /work/mono/src/mono-1.9.1/mono/metadata/object.c:3321: undefined
> > reference to `GC_local_malloc_atomic'
> > ./.libs/libmonoruntime.a(object.o): In function
> > `mono_object_allocate_spec':
> > /work/mono/src/mono-1.9.1/mono/metadata/object.c:3329: undefined
> > reference to `GC_local_gcj_malloc'
> > ./.libs/libmonoruntime.a(object.o): In function
> > `mono_object_allocate_ptrfree':
> > /work/mono/src/mono-1.9.1/mono/metadata/object.c:3321: undefined
> > reference to `GC_local_malloc_atomic'
> > ./.libs/libmonoruntime.a(object.o): In function
> `mono_object_allocate':
> > /work/mono/src/mono-1.9.1/mono/metadata/object.c:3304: undefined
> > reference to `GC_local_malloc'
> > ./.libs/libmonoruntime.a(boehm-gc.o): In function
> `mono_gc_alloc_fixed':
> > /work/mono/src/mono-1.9.1/mono/metadata/boehm-gc.c:332: undefined
> > reference to `GC_local_malloc'
> > ../utils/.libs/libmonoutils.a(mono-hash.o): In function
> > `g_hash_table_resize':
> > /work/mono/src/mono-1.9.1/mono/utils/mono-hash.c:724: undefined
> > reference to `GC_local_malloc'
> > ../utils/.libs/libmonoutils.a(mono-hash.o): In function
> > `mono_g_hash_table_new_full':
> > /work/mono/src/mono-1.9.1/mono/utils/mono-hash.c:188: undefined
> > reference to `GC_local_malloc'
> > /work/mono/src/mono-1.9.1/mono/utils/mono-hash.c:199: undefined
> > reference to `GC_local_malloc'
> >
>
../utils/.libs/libmonoutils.a(mono-hash.o):/work/mono/src/mono-1.9.1/mon
> > o/utils/mono-hash.c:339: more undefined references to
> `GC_local_malloc'
> > follow
> > collect2: ld returned 1 exit status
> > make[3]: *** [pedump] Error 1
> > make[3]: Leaving directory `/work/mono/src/mono-1.9.1/mono/metadata'
> > make[2]: *** [all-recursive] Error 1
> > make[2]: Leaving directory `/work/mono/src/mono-1.9.1/mono'
> > make[1]: *** [all-recursive] Error 1          
> > 
> > 
> > 
> > I am using Fedora Core 8
> > gcc --version
> > gcc (GCC) 4.1.2 20070925 (Red Hat 4.1.2-33)
> > Copyright (C) 2006 Free Software Foundation, Inc.
> > This is free software; see the source for copying conditions.  There
> is
> > NO
> > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
> > PURPOSE.
> > 
> > uname -a
> > Linux 2.6.25.9-40.fc8 #1 SMP Fri Jun 27 16:25:53 EDT 2008 i686 i686
> i386
> > GNU/Linux
> > 
> 
> When I was building for N800, I had to configure with
> 
> --with-tls=pthread
> 
> to dodge those missing GC_local_xxx references. Can't tell you why
> exactly :P
> 
> Tim
> 



     - - - - -                              Cisco                            - - - - -         
This e-mail and any attachments may contain information which is confidential, 
proprietary, privileged or otherwise protected by law. The information is solely 
intended for the named addressee (or a person responsible for delivering it to 
the addressee). If you are not the intended recipient of this message, you are 
not authorized to read, print, retain, copy or disseminate this message or any 
part of it. If you have received this e-mail in error, please notify the sender 
immediately by return e-mail and delete it from your computer.



More information about the Mono-list mailing list