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
|