On 7/6/18 1:31 PM, Till Wegmüller via illumos-discuss wrote:
Hello Fellow developers

I 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

Reply via email to