[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: