>
> I'm as mystified about this problem as last time.
> You're not telling us what OS you're on nor what compiler you're using but
> it looks like some 64-bit linux distro.

I'm running Ubuntu 8.04 (hardy) on an Intex Xeon server.

My java details:
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) 64-Bit Server VM (build 10.0-b22, mixed mode)

> I did notice that not including -ljvm into the LFLAGS (also adding the
> appropriate -L flag that goes with it) caused problems on some Linuxes at
> JCC startup time.

I'm not sure how to add the flag - do I extend one of the arguments or
add it as a new argument in the list?

I tried both of the following:

LFLAGS = {
    'linux2': ['-L/usr/lib/jvm/java-6-sun/jre/lib/amd64', '-ljava', '-ljvm',
               
'-Wl,-rpath=/usr/lib/jvm/java-6-sun/jre/lib/amd64:/usr/lib/jvm/java-6-sun/jre/lib/amd64/server']
}

and

LFLAGS = {
    'linux2': ['-L/usr/lib/jvm/java-6-sun/jre/lib/amd64', '-ljava, -ljvm',
               
'-Wl,-rpath=/usr/lib/jvm/java-6-sun/jre/lib/amd64:/usr/lib/jvm/java-6-sun/jre/lib/amd64/server']
}

I'm not sure why the Ubuntu package installer installed the AMD64
version of java, but I assume it's the one to use with a Xeon.

These both give a build and install without any problems:

[EMAIL PROTECTED]:~/Desktop/JCC-1.9$ python setup.py build
running build
running build_py
copying jcc/config.py -> build/lib.linux-x86_64-2.5/jcc
running build_ext
[EMAIL PROTECTED]:~/Desktop/JCC-1.9$ sudo python setup.py install
[sudo] password for julw:

running install
running bdist_egg
running egg_info
writing JCC.egg-info/PKG-INFO
writing top-level names to JCC.egg-info/top_level.txt
writing dependency_links to JCC.egg-info/dependency_links.txt
reading manifest file 'JCC.egg-info/SOURCES.txt'
writing manifest file 'JCC.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
copying jcc/config.py -> build/lib.linux-x86_64-2.5/jcc
running build_ext
creating build/bdist.linux-x86_64/egg
copying build/lib.linux-x86_64-2.5/libjcc.a -> build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/jcc
copying build/lib.linux-x86_64-2.5/jcc/_jcc.so ->
build/bdist.linux-x86_64/egg/jcc
copying build/lib.linux-x86_64-2.5/jcc/python.py ->
build/bdist.linux-x86_64/egg/jcc
creating build/bdist.linux-x86_64/egg/jcc/sources
copying build/lib.linux-x86_64-2.5/jcc/sources/jccfuncs.h ->
build/bdist.linux-x86_64/egg/jcc/sources
copying build/lib.linux-x86_64-2.5/jcc/sources/JObject.cpp ->
build/bdist.linux-x86_64/egg/jcc/sources
copying build/lib.linux-x86_64-2.5/jcc/sources/types.cpp ->
build/bdist.linux-x86_64/egg/jcc/sources
copying build/lib.linux-x86_64-2.5/jcc/sources/jcc.cpp ->
build/bdist.linux-x86_64/egg/jcc/sources
copying build/lib.linux-x86_64-2.5/jcc/sources/functions.cpp ->
build/bdist.linux-x86_64/egg/jcc/sources
copying build/lib.linux-x86_64-2.5/jcc/sources/JCCEnv.h ->
build/bdist.linux-x86_64/egg/jcc/sources
copying build/lib.linux-x86_64-2.5/jcc/sources/macros.h ->
build/bdist.linux-x86_64/egg/jcc/sources
copying build/lib.linux-x86_64-2.5/jcc/sources/JCCEnv.cpp ->
build/bdist.linux-x86_64/egg/jcc/sources
copying build/lib.linux-x86_64-2.5/jcc/sources/functions.h ->
build/bdist.linux-x86_64/egg/jcc/sources
copying build/lib.linux-x86_64-2.5/jcc/sources/JObject.h ->
build/bdist.linux-x86_64/egg/jcc/sources
copying build/lib.linux-x86_64-2.5/jcc/sources/JArray.h ->
build/bdist.linux-x86_64/egg/jcc/sources
copying build/lib.linux-x86_64-2.5/jcc/config.py ->
build/bdist.linux-x86_64/egg/jcc
copying build/lib.linux-x86_64-2.5/jcc/cpp.py ->
build/bdist.linux-x86_64/egg/jcc
copying build/lib.linux-x86_64-2.5/jcc/__init__.py ->
build/bdist.linux-x86_64/egg/jcc
byte-compiling build/bdist.linux-x86_64/egg/jcc/python.py to python.pyc
byte-compiling build/bdist.linux-x86_64/egg/jcc/config.py to config.pyc
byte-compiling build/bdist.linux-x86_64/egg/jcc/cpp.py to cpp.pyc
byte-compiling build/bdist.linux-x86_64/egg/jcc/__init__.py to __init__.pyc
creating stub loader for jcc/_jcc.so
byte-compiling build/bdist.linux-x86_64/egg/jcc/_jcc.py to _jcc.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
writing JCC.egg-info/native_libs.txt
copying JCC.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying JCC.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying JCC.egg-info/dependency_links.txt ->
build/bdist.linux-x86_64/egg/EGG-INFO
copying JCC.egg-info/native_libs.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying JCC.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO
copying JCC.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
creating 'dist/JCC-1.9-py2.5-linux-x86_64.egg' and adding
'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing JCC-1.9-py2.5-linux-x86_64.egg
removing '/usr/lib/python2.5/site-packages/JCC-1.9-py2.5-linux-x86_64.egg'
(and everything under it)
creating /usr/lib/python2.5/site-packages/JCC-1.9-py2.5-linux-x86_64.egg
Extracting JCC-1.9-py2.5-linux-x86_64.egg to /usr/lib/python2.5/site-packages
JCC 1.9 is already the active version in easy-install.pth

Installed /usr/lib/python2.5/site-packages/JCC-1.9-py2.5-linux-x86_64.egg
Processing dependencies for JCC==1.9
Finished processing dependencies for JCC==1.9


Unfortunately, importing jcc throws the error. (I'm importing from
Python to test the installation, just to keep things simple).:

import jcc
 File 
"/usr/lib/python2.5/site-packages/JCC-1.9-py2.5-linux-x86_64.egg/jcc/__init__.py",
line 30, in <module>
from _jcc import initVM
ImportError: 
/usr/lib/python2.5/site-packages/JCC-1.9-py2.5-linux-x86_64.egg/jcc/_jcc.so:
undefined symbol: _ZN6JCCEnvC1EP10_Jv_JavaVMP10_Jv_JNIEnv
Script terminated.

>
> If that doesn't resolve it, attach ldd output for _jcc.so in your reply.

Here is the ldd output. (I hope I'm pointing at the right file).

$ ldd 
/usr/lib/python2.5/site-packages/JCC-1.9-py2.5-linux-x86_64.egg/jcc/_jcc.so
        linux-vdso.so.1 =>  (0x00007fff2b9fe000)
        libjava.so => /usr/lib/jvm/java-6-sun/jre/lib/amd64/libjava.so
(0x00007f3e23674000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f3e23358000)
        libm.so.6 => /lib/libm.so.6 (0x00007f3e230d6000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f3e22ec8000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f3e22cac000)
        libc.so.6 => /lib/libc.so.6 (0x00007f3e22949000)
        libjvm.so => /usr/lib/jvm/java-6-sun/jre/lib/amd64/server/libjvm.so
(0x00007f3e21fce000)
        libverify.so => /usr/lib/jvm/java-6-sun/jre/lib/amd64/libverify.so
(0x00007f3e21ebf000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x00007f3e21ca5000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f3e21aa1000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f3e239d8000)


> What's strange about this error is that the missing symbol belongs to JCC
> itself.
>
> Andi..
>

Once again, many thanks for looking at this. I'm a bit of a linux
newbie, so any help is much appreciated.

Julius

>
> ------------------------------
>
> _______________________________________________
> pylucene-dev mailing list
> pylucene-dev@osafoundation.org
> http://lists.osafoundation.org/mailman/listinfo/pylucene-dev
>
>
> End of pylucene-dev Digest, Vol 50, Issue 5
> *******************************************
>
_______________________________________________
pylucene-dev mailing list
pylucene-dev@osafoundation.org
http://lists.osafoundation.org/mailman/listinfo/pylucene-dev

Reply via email to