[Bug libgcj/38298] libjava link failures.
pluto at agmk dot net
gcc-bugzilla@gcc.gnu.org
Mon Dec 29 10:00:00 GMT 2008
------- Comment #6 from pluto at agmk dot net 2008-12-29 09:59 -------
during standard build (w/o --as-needed) the libgcj-tools.so is linked
in the following way:
(...)
libtool: link:
/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/./gcc/xgcc -shared-libgcc
-B/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/./gcc -nostdinc++
-L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libstdc++-v3/src
-L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libstdc++-v3/src/.libs
-B/usr/x86_64-pld-linux/bin/ -B/usr/x86_64-pld-linux/lib/ -isystem
/usr/x86_64-pld-linux/include
-isystem /usr/x86_64-pld-linux/sys-include -shared -nostdlib
/usr/lib/../lib64/crti.o
/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/./gcc/crtbeginS.o
classpath/tools/.libs/libgcj_tools_la-tools.o
-L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libstdc++-v3/src
-L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libstdc++-v3/src/.libs
-L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libjava
-L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/./gcc -L/lib/../lib64
-L/usr/lib/../lib64 -lc -lgcc_s
/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/./gcc/crtendS.o
/usr/lib/../lib64/crtn.o -march=x86-64 -Wl,-z -Wl,relro -Wl,-z -Wl,combreloc
-Wl,--version-script=../../../libjava/libgcj.ver -Wl,-Bsymbolic-functions
-Wl,-soname -Wl,libgcj-tools.so.10 -o .libs/libgcj-tools.so.10.0.0
$ ldd -r x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0
linux-vdso.so.1 => (0x00007fffa2fff000)
libc.so.6 => /lib64/libc.so.6 (0x00002abf084bc000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002abf08813000)
/lib64/ld-linux-x86-64.so.2 (0x00002abf07b02000)
undefined symbol: _Jv_charClass
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_floatClass
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_shortClass
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_byteClass
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_booleanClass
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_doubleClass
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_longClass
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_intClass
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _ZTVN4java4lang5ClassE
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_ThrowAbstractMethodError
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: __gcj_personality_v0
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_IsInstanceOf
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_NewPrimArray
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_Throw
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_CheckArrayStore
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_CheckCast
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_LookupInterfaceMethodIdx
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_RegisterResource
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_NewMultiArray
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_ResolvePoolEntry
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_AllocObjectNoFinalizer
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_ThrowNoSuchFieldError
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_ThrowBadArrayIndex
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_ThrowNullPointerException
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: fmod (x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_InitClass
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_MonitorExit
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_NewObjectArray
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_MonitorEnter
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
undefined symbol: _Jv_AllocObject
(x86_64-pld-linux/libjava/.libs/libgcj-tools.so.10.0.0)
$ cat x86_64-pld-linux/libjava/.libs/libgcj-tools.la
# libgcj-tools.la - a libtool library file
# Generated by ltmain.sh (GNU libtool) 2.2.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libgcj-tools.so.10'
# Names of this library.
library_names='libgcj-tools.so.10.0.0 libgcj-tools.so.10 libgcj-tools.so'
# The name of the static archive.
old_library='libgcj-tools.a'
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs='
-L/home/users/pluto/rpm/BUILD/gcc-4.4-20081219/builddir/x86_64-pld-linux/libjava'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libgcj-tools.
current=10
age=0
revision=0
# Is this an already installed library?
installed=no
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/usr/lib64/../lib64'
as you can see, there's undefined fmod symbol and related .la doesn't
contain required -lm. the --as-needed feature only exposes this bug.
--
pluto at agmk dot net changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |UNCONFIRMED
Resolution|INVALID |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38298
More information about the Gcc-bugs
mailing list