Kamal, Can you please include the following:
1) which gcc 2) output of gcc --version 3) gcc helloworld.c - and then the output of "file a.out" (just have main(){printf("HW\n";)} in helloworld.c These will eliminate cross compiler as an issue. 4) The full command that is executed before you get this output - it is above this output On Wed, Jan 25, 2012 at 3:45 PM, Kamal Aboul-Hosn <ka...@sooloos.com> wrote: > Thanks, Robert, that worked very well. I have one more question, if I may. So > I'm embedding Mono on Android on ARM. Up until now, I've been AOT compiling > the libraries by running a little app on the Android device itself. > Obviously, in the long term, this is not really a good option. So now, I'm > trying to build a Mono cross compiler for Android ARM on my Mac OS X machine > (gcc --arch returns "i686-apple-darwin11-llvm-gcc-4.2" if that is useful). > > I do the following configure: > > ./configure --target=armv5-linux-androideabi --enable-nls=no > --prefix=/Users/kamal/mono-cross --disable-mcs-build > > I also have the CC environment variable and CXX environment variable set to > "gcc -m32" and "g++ -m32", respectively, as I believe I read that the cross > compiler cannot work if built for 64-bit. Whenever I run make, I quickly get > the following errors: > > mach-support-arm.c: In function ‘mono_mach_arch_get_ip’: > mach-support-arm.c:24: error: ‘arm_thread_state_t’ undeclared (first use in > this function) > mach-support-arm.c:24: error: (Each undeclared identifier is reported only > once > mach-support-arm.c:24: error: for each function it appears in.) > mach-support-arm.c:24: error: ‘arch_state’ undeclared (first use in this > function) > mach-support-arm.c:24: error: expected expression before ‘)’ token > mach-support-arm.c:27: warning: control reaches end of non-void function > mach-support-arm.c: In function ‘mono_mach_arch_get_sp’: > mach-support-arm.c:32: error: ‘arm_thread_state_t’ undeclared (first use in > this function) > mach-support-arm.c:32: error: ‘arch_state’ undeclared (first use in this > function) > mach-support-arm.c:32: error: expected expression before ‘)’ token > mach-support-arm.c:35: warning: control reaches end of non-void function > mach-support-arm.c: In function ‘mono_mach_arch_get_mcontext_size’: > mach-support-arm.c:40: error: invalid application of ‘sizeof’ to incomplete > type ‘struct __darwin_mcontext’ > mach-support-arm.c: In function ‘mono_mach_arch_thread_state_to_mcontext’: > mach-support-arm.c:46: error: ‘arm_thread_state_t’ undeclared (first use in > this function) > mach-support-arm.c:46: error: ‘arch_state’ undeclared (first use in this > function) > mach-support-arm.c:46: error: expected expression before ‘)’ token > mach-support-arm.c:49: error: dereferencing pointer to incomplete type > mach-support-arm.c: In function ‘mono_mach_arch_get_thread_state_size’: > mach-support-arm.c:55: error: ‘arm_thread_state_t’ undeclared (first use in > this function) > mach-support-arm.c:56: warning: control reaches end of non-void function > mach-support-arm.c: In function ‘mono_mach_arch_get_thread_state’: > mach-support-arm.c:61: error: ‘arm_thread_state_t’ undeclared (first use in > this function) > mach-support-arm.c:61: error: ‘arch_state’ undeclared (first use in this > function) > mach-support-arm.c:61: error: expected expression before ‘)’ token > mach-support-arm.c:64: error: ‘ARM_THREAD_STATE_COUNT’ undeclared (first use > in this function) > make[4]: *** [mach-support-arm.lo] Error 1 > > > Does anyone know how to overcome these errors? > > Much appreciated! > > Kamal > > On Jan 24, 2012, at 4:08 PM, Robert Jordan wrote: > >> On 24.01.2012 19:39, Kamal Aboul-Hosn wrote: >>> Hi, everyone, >>> >>> If I call mono --aot=static,asmonly on a dll to generate a .s file, >>> how can I get Mono to load the generated AOT'ed assembly if I include >>> the .s in a native .so I'm building myself as part of an application? >>> It seems Mono normally just goes looking for a .so file for the >>> AOT'ed code. Is it possible to get Mono to use the linked in AOT'ed >>> code in the same native library as the rest of my application? Please >>> let me know if I can provide any more details. >> >> First, you must embed the runtime as described here: >> >> http://mono-project.com/Embedding_Mono >> >> Second, you must register the static AOT assembly with >> mono_aot_register_module. See the description of >> --aot=static on mono's man page. >> >> This assembly can be consumed like any other file-based >> assembly using the embedding API. >> >> Robert >> >> >> _______________________________________________ >> Mono-devel-list mailing list >> Mono-devel-list@lists.ximian.com >> http://lists.ximian.com/mailman/listinfo/mono-devel-list > > _______________________________________________ > Mono-devel-list mailing list > Mono-devel-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-devel-list _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list