Unresolved references to __builtin functions building libgcj
Bryce McKinlay
bryce@albatross.co.nz
Wed Oct 11 19:05:00 GMT 2000
Alexandre Oliva wrote:
> On Oct 11, 2000, Bryce McKinlay <bryce@albatross.co.nz> wrote:
>
> > Attempting to build libgcj with the latest compiler dies for me with the
> > following link failure:
>
> > ./.libs/libgcj.so: undefined reference to `__pure_virtual'
> > ./.libs/libgcj.so: undefined reference to `terminate(void)'
> > ./.libs/libgcj.so: undefined reference to `__builtin_vec_new'
> > ./.libs/libgcj.so: undefined reference to `__builtin_new'
>
> Same here. That's probably because the C++-specific functions that
> used to be in libgcc have moved to libstdc++ and libsupc++ (the latter
> on v3 only?).
Right. And for some reason libgcj isn't linked to libstdc++:
$ ldd ./libgcj.so.1.0.0
libdl.so.2 => /lib/libdl.so.2 (0x40372000)
libc.so.6 => /lib/libc.so.6 (0x40376000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
It should be, right? So I added an explicit -lstdc++. Now I'm getting this:
./.libs/libgcj.so: undefined reference to `std::terminate(void)'
Which doesn't exist in libstdc++ at all:
$ nm libstdc++-3-libc6.1-2-2.10.0.so | grep terminate
00025f84 T __default_terminate
00025fa0 T __terminate
0003a3c0 D __terminate_func
00019690 T set_terminate__FPFv_v
0002af70 W
terminate__Ct12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b1i0
00019654 T terminate__Fv
regards
[ bryce ]
More information about the Java
mailing list