How to get JDK1.1 working with glibc2.1
Hi,
Here is a quick and dirty kludge to make JDK1.1 work again on a Potato
system.
It seems that java, javac, and jar work. I haven't tried the other
components yet.
Note: apply these patches on your own risk.
1. Get libc6.deb from slink, and unpack it in /usr/local/glibc2.0:
dpkg -x libc6_2.0.7.19981211-6.deb /usr/local/glibc2.0/
2. Apply the attached patch java_wrapper.patch to
/usr/lib/jdk1.1/bin/.java_wrapper
cd /usr/lib/jdk1.1/bin
patch < java_wrapper.patch
3. Apply the attached patch libjava.patch to an uuencoded version of
/usr/lib/jdk1.1/lib/i686/green_threads/libjava.so
cd /usr/lib/jdk1.1/lib/i686/green_threads
uuencode libjava.so < libjava.so > libjava.so.uue
patch < libjava.patch
uudecode libjava.so.uue
4. Apply the attached patches jar.patch and javac.patch to the files in
/usr/lib/jdk1.1/bin/i686/green_threads/
cd /usr/lib/jdk1.1/bin/i686/green_threads
patch < jar.patch
patch < javac.patch
(You could make similar modifications to other shell scripts in that
directory)
Greetings,
Ruud de Rooij.
--
Ruud de Rooij
r.c.m.derooij@twi.tudelft.nl
http://sepc.twi.tudelft.nl/~derooij/
--- javac1 Thu Nov 5 03:30:32 1998
+++ javac Thu Mar 18 22:10:08 1999
@@ -4,16 +4,7 @@
#
. `dirname $0`/.extract_args
-progname=java
-if [ -n "$NS_JAVA" ]
-then
- progname="${progname}_ns"
-elif [ -n "$DYN_JAVA" ]
-then
- progname="${progname}_dyn"
-fi
-
#
# Run the compiler
#
-`dirname $0`/${progname} $RUNTIME_ARGS -ms8m $RUNTIME_ARGS sun.tools.javac.Main $APP_ARGS
+`dirname $0`/../../java $RUNTIME_ARGS -ms8m $RUNTIME_ARGS sun.tools.javac.Main $APP_ARGS
--- jar1 Thu Nov 5 03:34:55 1998
+++ jar Thu Mar 18 22:18:01 1999
@@ -5,15 +5,4 @@
#
. `dirname $0`/.extract_args
-if [ -n "$NS_JAVA" ]
-then
- progsuffix=_ns
-elif [ -n "$DYN_JAVA" ]
-then
- progsuffix=_dyn
-fi
-
-#
-# Run the archive tool
-#
-`dirname $0`/java$progsuffix -ms8m $RUNTIME_ARGS sun.tools.jar.Main $APP_ARGS
+`dirname $0`/../../java -ms8m $RUNTIME_ARGS sun.tools.jar.Main $APP_ARGS
--- libjava.so.orig.uue Thu Mar 18 22:16:42 1999
+++ libjava.so.uue Thu Mar 18 22:16:32 1999
@@ -9342,8 +9342,8 @@
M:6\O4WEN8T9A:6QE9$5X8V5P=&EO;@!D;&%D9'(`9&QS>6T`9&QE<G)O<@!D
M;&-L;W-E`&1L;W!E;@!S;V-K970`<F5C=F9R;VT`<V5N9`!R96-V`&%C8V5P
M=`!C<F5A=`!D=7``9F-N=&P`<&EP90!C;&]S90!O<&5N`'!O;&P`<'5T;7-G
-M`&=E=&US9P!R96%D=@!R96%D`'=R:71E=@!W<FET90`O;&EB+VQI8F,N<V\N
-M-@`O;&EB+VQI8F1L+G-O+C(`36]N:71O<B!)3R!L;V-K`$1Y;F%M:6,@;&]A
+M`&=E=&US9P!R96%D=@!R96%D`'=R:71E=@!W<FET90!L:6)C+G-O+C8`````
+M``!L:6)D;"YS;RXR````````36]N:71O<B!)3R!L;V-K`$1Y;F%M:6,@;&]A
M9&EN9R!L;V-K`$]50T@Z(&YE<W1E9"!M96UO<GD@8V]D92P@=&\@)60@;&5V
M96QS+@H`1$]?3D]47T-(14-+7TU%30!$3U].3U1?1E)%10!4<FEE9"!T;R!F
M<F5E(&)O9W5S(&UE;6]R>2`E>"P@:6=N;W)E9`H`9G)E93H@9&]U8FQE+69R
--- java_wrapper Thu Mar 18 21:18:11 1999
+++ .java_wrapper Thu Mar 18 22:12:19 1999
@@ -110,12 +110,6 @@
fi
fi
-LD_LIBRARY_PATH="$JAVA_HOME/lib/${ARCH}/$THREADS_TYPE:${JDK_LIBS}$LD_LIBRARY_PATH"
-export LD_LIBRARY_PATH
-
-LD_PRELOAD=/lib/libBrokenLocale.so.1
-export LD_PRELOAD
-
orig_progname="${progname}"
if [ -n "$NS_JAVA" ]
then
@@ -127,14 +121,36 @@
prog=$JAVA_HOME/bin/${ARCH}/${THREADS_TYPE}/${progname}
+GLIBC20=/usr/local/glibc2.0/lib
+LDSO=${GLIBC20}/ld-linux.so.2
+export LDSO
+
if [ -f $prog ]
then
- exec $DEBUG_PROG $prog $opts "$@"
+ if file $prog | grep -q 'shell script'
+ then
+ exec $DEBUG_PROG $prog $opts "$@"
+ else
+ LD_LIBRARY_PATH="${GLIBC20}:$JAVA_HOME/lib/${ARCH}/$THREADS_TYPE:${JDK_LIBS}$LD_LIBRARY_PATH"
+ export LD_LIBRARY_PATH
+ LD_PRELOAD=${GLIBC20}/libBrokenLocale.so.1
+ export LD_PRELOAD
+ exec $LDSO $DEBUG_PROG $prog $opts "$@"
+ fi
else
prog=$JAVA_HOME/bin/${ARCH}/${THREADS_TYPE}/${orig_progname}
if [ -f $prog ]
then
- exec $DEBUG_PROG $prog $opts "$@"
+ if file $prog | grep -q 'shell script'
+ then
+ exec $DEBUG_PROG $prog $opts "$@"
+ else
+ LD_LIBRARY_PATH="${GLIBC20}:$JAVA_HOME/lib/${ARCH}/$THREADS_TYPE:${JDK_LIBS}$LD_LIBRARY_PATH"
+ export LD_LIBRARY_PATH
+ LD_PRELOAD=${GLIBC20}/libBrokenLocale.so.1
+ export LD_PRELOAD
+ exec $LDSO $DEBUG_PROG $prog $opts "$@"
+ fi
fi
fi
Reply to: