Bad patchwork: libgcj.so: undefined reference to `gcj_describe_type_fn'

David Daney ddaney@avtrex.com
Wed Mar 15 20:38:00 GMT 2006


Martin Egholm Nielsen wrote:
> David,
> 
>>> (For those not reading my desparate attempts on the GC list:)
>>> I'm trying to trace some stuff in the garbage collector being 
>>> responsible for doubling my GC times.
>>> In that attempt Hans Boehm has guided me into using the method 
>>> "gcj_describe_type_fn" defined in "libjava/boehm.cc" - defined for 
>>> newer releases, that is. Now, I'm quite stuck with the 3.4.x branch, 
>>> hence this method is not there.
>>> So I just patched it in from SVN trunk (though removing the 
>>> static'ness), and everything (boehm and libjava) compiles just fine. 
>>> However, the minute I try to compile my own application, I get the 
>>> following error message:
>>>
>>> --- 8< 8< 8< ---
>>> lib/libgcj.so: undefined reference to `gcj_describe_type_fn'
>>> collect2: ld returned 1 exit status
>>> --- 8< 8< 8< ---
>>
>> I don't know for sure, but the object file containing the definition 
>> of that function should probably be in:
>>
>> libgcjgc_convenience.a
>>
>> You may want to use nm to confirm that that symbol is defined in said 
>> library.
> 
> 
> $ powerpc-405-linux-gnu-nm libgcjgc_convenience.a | grep gcj_
> gcj_mlc.o:
> 000006f4 T GC_debug_gcj_fast_malloc
> 0000046c T GC_debug_gcj_malloc
> 00000004 C GC_gcj_debug_kind
> 000005dc T GC_gcj_fast_malloc
> 00000004 C GC_gcj_kind
> 000002f4 T GC_gcj_malloc
> 00000870 T GC_gcj_malloc_ignore_off_page
> 00000000 S GC_gcj_malloc_initialized
> 00000004 T GC_init_gcj_malloc
>          U gcj_describe_type_fn
>            ^^^^^^^^^^^^^^^^^^^^
> Looks like it, yes...

Looks like it, NO!  That is saying it is undefined.

David Daney.



More information about the Java mailing list