Re: [tcljava-user] TclBlend on SuSE7.0 with JDK1.1.8 (or JDK1.2.2)
Brought to you by:
mdejong
From: Mo D. <md...@cy...> - 2000-11-15 00:22:17
|
On Tue, 14 Nov 2000, Christian Krone wrote: > Hello, > > Mo DeJong wrote: > > > > when I start to configure TclBlend (1.3 from SourceForge) > > > the configuration stops with the following last words: > [...] > > > > configure: error: could not link file that includes jni.h > > > > It is likely that your JVM install is broken or corrupted > > Yeah, it looks like the configure script does not know where to > > find your JNI libs. Perhaps that error message about > > "your JVM install is broken or corrupted" is not all > > that helpful in the case where the libs can not even > > be found. > [...] > > So first, cd to /usr/lib/java and run > > find . -name "libjava*.so*" > > find . -name "libjvm*.so*" > > find . -name "libhpi*.so*" > > And see what that prints. That should tell you > > where the libs for your system live. If you > > have both native and green thread libs, make > > sure you use the native thread ones. > > The problem was that the configure script expects to find > the libjvm in a subdirectory linux, e.g. > /usr/lib/jdk1.1.8/lib/linux/native_threads/libjava.so > But on SuSE7.0 (and before) this subdirectory is called i386! > So I created a softlink: > ln -s i386 /usr/lib/jdk1.1.8/lib/linux > and now it works! This is that code that is meant to check for that case, from tcljava.m4. # Blackdown JDK 1.1 for Linux (this one can get a little wacky) F=README.linux if test "x$ac_java_jvm_jni_lib_flags" = "x" && test -f $ac_java_jvm_dir/$F ; then # Figure out if it is 1.1.8 and not 1.1.7 AC_GREP_FILE([JDK 1.1.8], $ac_java_jvm_dir/$F, IS118=1) F=lib/`uname --machine`/native_threads/libjava.so AC_MSG_LOG([Looking for $ac_java_jvm_dir/$F], 1) if test -f $ac_java_jvm_dir/$F ; then AC_MSG_LOG([Found $ac_java_jvm_dir/$F], 1) D=`dirname $ac_java_jvm_dir/$F` ac_java_jvm_jni_lib_runtime_path=$D ac_java_jvm_jni_lib_flags="-lpthread -L$D -ljava" On my system. % uname --machine i686 Is there no symlink for i686 -> i386 on that box? Is this a Sun JVM on Linux or a blackdown one? > > You might also want to put in an extra check > > to see if ac_java_jvm_jni_lib_flags is "" > > and then raise an error of print a better > > message like "Your JVM configuration is > > not known, please edit the AC_JAVA_JNI_LIBS > > macro in tcljava.m4 to add support for it." > > Sorry but I don't get autoconf 2.14 up and running. The generated > configure script creates error messages one after the other. > So here is only the workaround for SuSE users, but no patch > for the configure.in (or tcljava.m4) Well, the patch for tcljava.m4 is what we need in the long run. I just did an update from the autoconf CVS and it looks like something related the AC_FD_LOG macro was changed. I just checked in a change that fixes that problem. It should work with the CVS version of autoconf now. Mo DeJong Red Hat Inc |