On Fri, 4 Mar 2011, Bill Janssen wrote:

Hmmm, having this difficulty:

% find /usr/local/lib/python2.6 -name \*jcc\*
/usr/local/lib/python2.6/dist-packages/JCC-2.7-py2.6-linux-x86_64.egg/libjcc.a
/usr/local/lib/python2.6/dist-packages/JCC-2.7-py2.6-linux-x86_64.egg/jcc
/usr/local/lib/python2.6/dist-packages/JCC-2.7-py2.6-linux-x86_64.egg/jcc/_jcc.pyc
/usr/local/lib/python2.6/dist-packages/JCC-2.7-py2.6-linux-x86_64.egg/jcc/_jcc.py
/usr/local/lib/python2.6/dist-packages/JCC-2.7-py2.6-linux-x86_64.egg/jcc/_jcc.so
/usr/local/lib/python2.6/dist-packages/JCC-2.7-py2.6-linux-x86_64.egg/jcc/sources/jccfuncs.h
/usr/local/lib/python2.6/dist-packages/JCC-2.7-py2.6-linux-x86_64.egg/jcc/sources/jcc.cpp
/usr/local/lib/python2.6/dist-packages/JCC-2.7-py2.6-linux-x86_64.egg/jcc/classes/org/apache/jcc
/usr/local/lib/python2.6/dist-packages/JCC-2.6-py2.6-linux-x86_64.egg/libjcc.a
/usr/local/lib/python2.6/dist-packages/JCC-2.6-py2.6-linux-x86_64.egg/jcc
/usr/local/lib/python2.6/dist-packages/JCC-2.6-py2.6-linux-x86_64.egg/jcc/_jcc.pyc
/usr/local/lib/python2.6/dist-packages/JCC-2.6-py2.6-linux-x86_64.egg/jcc/_jcc.py
/usr/local/lib/python2.6/dist-packages/JCC-2.6-py2.6-linux-x86_64.egg/jcc/_jcc.so
/usr/local/lib/python2.6/dist-packages/JCC-2.6-py2.6-linux-x86_64.egg/jcc/sources/jccfuncs.h
/usr/local/lib/python2.6/dist-packages/JCC-2.6-py2.6-linux-x86_64.egg/jcc/sources/jcc.cpp
/usr/local/lib/python2.6/dist-packages/JCC-2.6-py2.6-linux-x86_64.egg/jcc/classes/org/apache/jcc
% java -classpath 
.:/tmp/pylucene/branches/branch_3x/jcc/build/lib.linux-x86_64-2.6/jcc/classes 
-Djava.library.path=/usr/local/lib/python2.6/dist-packages/JCC-2.6-py2.6-linux-x86_64.egg/jcc
 test /u/tests/docs/testpage.txt /u/tests/docs/testpage.txt
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jcc in 
java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681)
        at java.lang.Runtime.loadLibrary0(Runtime.java:840)
        at java.lang.System.loadLibrary(System.java:1047)
        at org.apache.jcc.PythonVM.<clinit>(PythonVM.java:23)
        at test.main(test.java:11)
%

The shared library is "_jcc.so", but the Java code loads "jcc".  Is that
a problem?

There are two shared libraries for jcc: _jcc.so, the python extension, and libjcc.so, the shared mode runtime shared library. That's the one that gets loaded by PythonVM.java. Its directory must be on java's java.library.path.

 $ find _install/lib/python2.6/site-packages/JCC-2.7-py2.6-linux-x86_64.egg | grep 
"\.so"
_install/lib/python2.6/site-packages/JCC-2.7-py2.6-linux-x86_64.egg/libjcc.so
_install/lib/python2.6/site-packages/JCC-2.7-py2.6-linux-x86_64.egg/jcc/_jcc.so

Andi..

Reply via email to