[Mono-list] Compile mono 1.9.1 for arm linux

Tim timcussins at eml.cc
Thu Jul 24 05:20:20 EDT 2008


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




More information about the Mono-list mailing list