On 7/6/18 1:31 PM, Till Wegmüller via illumos-discuss wrote:
Hello Fellow developersI am looking for some help in understanding an LD error I am encountering while packaging mono 5.x Normaly this error means it does not find a library but this time LD reports that all symbols have been found yet it fails. Does anybody have any hints? In file included from /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/mini-arch.h:11:0, from /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/mini.h:42, from /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/interp/transform.c:21: /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/mini-amd64.h:88:0: note: this is the location of the previous definition # define MONO_ARCH_NOMAP32BIT /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/interp/transform.c: In function 'generate': /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/interp/transform.c:2795:44: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ADD_CODE (td, get_data_item_index (td, (gpointer) token)); ^ /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/interp/transform.c:281:22: note: in definition of macro 'ADD_CODE' *(td)->new_ip++ = (n); \ ^ In file included from /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/interp/transform.c:16:0: At top level: /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/metadata/marshal.h:261:20: warning: 'strelemref_wrapper_name' defined but not used [-Wunused-variable] static const char *strelemref_wrapper_name[] = { ^~~~~~~~~~~~~~~~~~~~~~~ CCLD libmono-ee-interp.la libtool: warning: '-version-info/-version-number' is ignored for convenience libraries CCLD libmonoboehm-2.0.la CC mono_boehm-main.o In file included from /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/mini-arch.h:11:0, from /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/mini.h:42, from /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/main.c:26: /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/mini-amd64.h:391:0: warning: "MONO_ARCH_NOMAP32BIT" redefined #define MONO_ARCH_NOMAP32BIT 1 In file included from /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/mini-arch.h:11:0, from /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/mini.h:42, from /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/main.c:26: /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/mini-amd64.h:88:0: note: this is the location of the previous definition # define MONO_ARCH_NOMAP32BIT In file included from /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/mini.h:49:0, from /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/mini/main.c:26: /root/oi-userland/components/runtime/mono/mono-5.12.0.226/mono/metadata/marshal.h:261:20: warning: 'strelemref_wrapper_name' defined but not used [-Wunused-variable] static const char *strelemref_wrapper_name[] = { ^~~~~~~~~~~~~~~~~~~~~~~ CCLD mono-boehm Undefined first referenced symbol in file mono_threads_platform_get_stack_bounds ../../mono/utils/.libs/libmonoutils.a(libmonoutils_la-mono-threads.o) mono_w32file_get_volume_information ../../mono/metadata/.libs/libmonoruntime.a(libmonoruntime_la-icall.o) mono_gc_register_obj_with_weak_fields ../../mono/metadata/.libs/libmonoruntime.a(libmonoruntime_la-object.o) ld: fatal: symbol referencing errors. No output written to mono-boehm collect2: error: ld returned 1 exit status make[5]: *** [Makefile:1400: mono-boehm] Error 1 make[5]: Leaving directory '/root/oi-userland/components/runtime/mono/build/amd64/mono/mini' make[4]: *** [Makefile:1229: all] Error 2 make[4]: Leaving directory '/root/oi-userland/components/runtime/mono/build/amd64/mono/mini' make[3]: *** [Makefile:484: all-recursive] Error 1 make[3]: Leaving directory '/root/oi-userland/components/runtime/mono/build/amd64/mono' make[2]: *** [Makefile:556: all-recursive] Error 1 make[2]: Leaving directory '/root/oi-userland/components/runtime/mono/build/amd64' make[1]: *** [Makefile:486: all] Error 2 make[1]: Leaving directory '/root/oi-userland/components/runtime/mono/build/amd64' gmake: *** [/root/oi-userland/make-rules/configure.mk:183: /root/oi-userland/components/runtime/mono/build/amd64/.built] Error 2 Thanks and Greetings Till
It would help if you sent us the compiler command used to build this. But off the top of my head I'd suggest looking at the order of the libraries passed to the compiler.
Rafael ------------------------------------------ illumos: illumos-discuss Permalink: https://illumos.topicbox.com/groups/discuss/T722dfb3edd9e7e3a-M3ad964085275a229b14ad277 Delivery options: https://illumos.topicbox.com/groups
