Hello,
I am trying to make Java support under FreeBSD (mostly for some .jsp and some caudiumish things).
When I trying to search for java, the autoconf file does that :
################################################### ## Configuring module: Java ## Installation dir:
checking for C compiler default output... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for executable suffix... checking for object suffix... (cached) o checking whether we are using the GNU C compiler... (cached) yes checking whether /home/kiwi/xenoclient/pike-7.5/kiwi.isdnet.net/buildtmp/Pike7.5- 20030904-122007/build/freebsd-4.8-release-p3-i386/smartlink gcc accepts -g... (cached) yes checking if we are using TCC... (cached) no checking how to run the C preprocessor... gcc -E checking which operating system we are using... freebsd checking which architecture we are using... i386 checking what kind of threads to use... native_threads checking for working ls... /bin/ls checking for JAVA_HOME... /usr/local/jdk1.3.1/jre checking for Java libraries... /usr/local/jdk1.3.1/jre/lib/i386/classic /usr/local/jdk1.3.1/jre/lib/i386 Adding /usr/local/jdk1.3.1/jre/lib/i386/classic /usr/local/jdk1.3.1/jre/lib/i386 to the library search path. checking for the Java include directory... /usr/local/jdk1.3.1/jre/../include Adding /usr/local/jdk1.3.1/jre/../include to the include search path. Adding /usr/local/jdk1.3.1/jre/../include/freebsd to the include search path. checking for JavaVM (MacOS X)... no checking for jni.h... yes checking for winbase.h... (cached) no checking for setjmp.h... (cached) yes checking for sysOpen in -lhpi... no checking for JNI_CreateJavaVM in -ljvm... no checking for known machine language... x86 checking whether make sets ${MAKE}... (cached) yes checking for the Pike base directory... /home/kiwi/xenoclient/pike-7.5/kiwi.isdnet.net/buildtmp/Pike7.5- 20030904-122007/src updating cache ../.././config.cache configure: creating ./config.status config.status: creating make_variables config.status: creating Makefile config.status: creating module.pmod.in config.status: creating config.h configure: configuring in MIME configure: running /usr/local/bin/bash '/home/kiwi/xenoclient/pike-7.5/kiwi.isdnet.net/buildtmp/Pike7.5- 20030904-122007/src/modules/MIME/configure' --cache-file=../.././config.cache --srcdir=/home/kiwi/xenoclient/pike-7.5/kiwi.isdnet.net/buildtmp/ Pike7.5-20030904-122007/src/modules/MIME configure: loading cache ../.././config.cache
But ... checking for JNI_CreateJavaVM in -ljvm... no
Is the most interresting part, config.log says :
configure:2450: checking for JNI_CreateJavaVM in -ljvm configure:2471: /home/kiwi/xenoclient/pike-7.5/kiwi.isdnet.net/buildtmp/Pike7.5- 20030904-122007/build/freebsd-4.8-release-p3-i386/smartlink gcc -o conftest -g -I/usr/local/include/pth -I/usr/local/jdk1.3.1/jre/../include/freebsd -I/usr/loc al/jdk1.3.1/jre/../include -I/usr/local/include -I/usr/X11R6/include -L/usr/loc al/jdk1.3.1/jre/lib/i386 -R/usr/local/jdk1.3.1/jre/lib/i386 -L/usr/local/jdk1.3. 1/jre/lib/i386/classic -R/usr/local/jdk1.3.1/jre/lib/i386/classic -g -O2 -pipe - I/usr/local/include/pth -L/usr/local/lib/pth conftest.c -ljvm -lm -lpthread -lc rypt >&5 /usr/local/jdk1.3.1/jre/lib/i386/classic/libjvm.so: undefined reference to `setFPMode' configure:2474: $? = 1 configure: failed program was: #line 2459 "configure" #include "confdefs.h" #include <jni.h> int main () { JNI_CreateJavaVM((JavaVM**)0,(void**)0,(void*)0); ; return 0; } configure:2500: result: no
Now what it "sefFTPMode" and where does this thing comming from ?
/Xavier
In the last episode (Sep 04), Xavier Beaudouin said:
I am trying to make Java support under FreeBSD (mostly for some .jsp and some caudiumish things).
When I trying to search for java, the autoconf file does that :
[snip]
But ... checking for JNI_CreateJavaVM in -ljvm... no
Your real problem is one line above. autoconf could not find libhpi (which is what provides setFPMode).
Is the most interresting part, config.log says :
configure:2450: checking for JNI_CreateJavaVM in -ljvm configure:2471: /home/kiwi/xenoclient/pike-7.5/kiwi.isdnet.net/buildtmp/Pike7.5-20030904-122007/build/freebsd-4.8-release-p3-i386/smartlink gcc -o conftest -g -I/usr/local/include/pth -I/usr/local/jdk1.3.1/jre/../include/freebsd -I/usr/local/jdk1.3.1/jre/../include -I/usr/local/include -I/usr/X11R6/include -L/usr/local/jdk1.3.1/jre/lib/i386 -R/usr/local/jdk1.3.1/jre/lib/i386 -L/usr/local/jdk1.3.1/jre/lib/i386/classic -R/usr/local/jdk1.3.1/jre/lib/i386/classic -g -O2 -pipe -I/usr/local/include/pth -L/usr/local/lib/pth conftest.c -ljvm -lm -lpthread -lcrypt >&5 /usr/local/jdk1.3.1/jre/lib/i386/classic/libjvm.so: undefined reference to `setFPMode'
Now what it "sefFTPMode" and where does this thing comming from ?
You need to set your LD_LIBRARY_PATH to point to the correct threads library. The java_wrapper scripts installed with the JDK usually handle all this behind the scenes. For 1.3.1 your only choice is green threads. With 1.4.1 your only choice is native threads.
export LD_LIBRARY_PATH=/usr/local/jdk1.3.1/jre/lib/i386/green_threads${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
This is all guessing; I have not built a pike Java module myself.
In the last episode (Sep 04), Dan Nelson said:
Now what it "sefFTPMode" and where does this thing comming from ?
You need to set your LD_LIBRARY_PATH to point to the correct threads library. The java_wrapper scripts installed with the JDK usually handle all this behind the scenes. For 1.3.1 your only choice is green threads. With 1.4.1 your only choice is native threads.
export LD_LIBRARY_PATH=/usr/local/jdk1.3.1/jre/lib/i386/green_threads${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
This is all guessing; I have not built a pike Java module myself.
I didn't read configure.in enough; it looks like you can just export THREADS_FLAG=green, and it might autodetect it.
I didn't read configure.in enough; it looks like you can just export THREADS_FLAG=green, and it might autodetect it.
Last time I checked, green threads did not work with Pike. Maybe the green threads implementation has improved since then, but I doubt it. Setting $THREADS_FLAG to "green" is the correct way to try it though.
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
Previous text:
2003-09-04 20:27: Subject: Re: Java under FreeBSD
In the last episode (Sep 04), Dan Nelson said:
Now what it "sefFTPMode" and where does this thing comming from ?
You need to set your LD_LIBRARY_PATH to point to the correct threads library. The java_wrapper scripts installed with the JDK usually handle all this behind the scenes. For 1.3.1 your only choice is green threads. With 1.4.1 your only choice is native threads.
export LD_LIBRARY_PATH=/usr/local/jdk1.3.1/jre/lib/i386/green_threads${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
This is all guessing; I have not built a pike Java module myself.
I didn't read configure.in enough; it looks like you can just export THREADS_FLAG=green, and it might autodetect it.
-- Dan Nelson dnelson@allantgroup.com
/ Brevbäraren
pike-devel@lists.lysator.liu.se