[Kde-java] qtjava and GCJ update
Bryce McKinlay
kde-java@kde.org
Wed, 03 Apr 2002 16:58:21 +1200
I have committed a fix for GCJ's java.util.IdentityHashMap that was
causing JNI crashes with qtjava. The "ScribbleWindow" demo from
kdebindings-2.2.2 should be running fine with GCJ 3.1 now. I have not
been able to reproduce Richard Dale's problem which seems like a
different issue.
Here's what I did to get it running:
1. Install qt-devel, kdelibs-devel, and kdelibs-sound-devel from Redhat 7.2.
2. Download kdebindings source from
ftp://ftp.kde.org/pub/kde/stable/2.2.2/src/kdebindings-2.2.2.tar.bz2
3. unpack and ./configure --with-qt-dir=/usr/lib/qt-2.3.1
4. cd qtjava; make
5. cd javalib
6. Compile qtjava java source into a shared library:
gcj -classpath . org/kde/qt/*.java -shared --jni -o libqtgcj.so
(the --jni option tells gcj that "native" methods will be implemented
using JNI, this is important. You can also add -O2 to get a smaller
faster library, but it will take longer to build)
7. copy the qtjava JNI library into the current directory so it will be
easier to get at
cp javalib/qtjava/.libs/*.so .
8. compile ScribbleWindow
gcj test/ScribbleWindow.java --main=ScribbleWindow -o scribble -L. -lqtgcj
9. set runtime library path
export LD_LIBRARY_PATH=.
10. run it
./scribble
11. scribble!!
regards
Bryce.