[Mono-list] Compile mono 1.9.1 for arm linux

Tim timcussins at eml.cc
Thu Jul 24 09:24:38 EDT 2008


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