binary incompatible libc.so change breaks Sun Java
Bruno Haible
bruno@clisp.org
Fri Apr 19 05:29:00 GMT 2002
Attempting to use the Sun JDK 1.3.1 with the current glibc, I get the
following error:
Error occurred during initialization of VM
Unable to load native library: /usr/lib/SunJava2-1.3.1/jre/lib/i386/libjava.so: symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
This is one more binary incompatible change in libc.so.
$ nm /usr/lib/SunJava2-1.3.1/jre/lib/i386/libjava.so | grep ' U __'
U __assert_fail@@GLIBC_2.0
U __divdi3@@GLIBC_2.0
U __environ@@GLIBC_2.0
U __libc_wait@@GLIBC_2.0
U __lxstat@@GLIBC_2.0
U __moddi3@@GLIBC_2.0
U __xstat64@@GLIBC_2.1
U __xstat@@GLIBC_2.0
Here is a fix.
2002-04-19 Bruno Haible <bruno@clisp.org>
* posix/Versions: Move back __libc_wait to GLIBC_2.0 section.
--- glibc-20020408/posix/Versions.bak 2002-02-04 12:42:40.000000000 +0100
+++ glibc-20020408/posix/Versions 2002-04-19 01:01:00.000000000 +0200
@@ -14,6 +14,9 @@
# functions used by libstdc++ 2.7.2
__waitpid;
+ # functions used by SunJava2-1.3.1/jre/lib/i386/libjava.so
+ __libc_wait;
+
# global variables
__environ; _environ;
@@ -108,7 +111,7 @@
GLIBC_PRIVATE {
# functions which have an additional interface since they are
# are cancelable.
- __libc_wait; __libc_waitpid; __libc_pause; __libc_nanosleep; __libc_fork;
+ __libc_waitpid; __libc_pause; __libc_nanosleep; __libc_fork;
__libc_pread; __libc_pread64; __libc_pwrite; __libc_pwrite64;
}
}
More information about the Libc-alpha
mailing list