[pylucene-dev] two different JCC modules in same VM; initVM()?

Andi Vajda vajda at osafoundation.org
Mon Mar 10 14:51:16 PDT 2008


On Fri, 7 Mar 2008, Bill Janssen wrote:

>> Just add your jars to the list of the Lucene ones in its Makefile and be
>> done with it :)
>
> That's just nasty.  No, I'll do something else over the weekend, and
> let you mull over the problem :-).  I've got to work on the SSL
> support for Python 2.6, anyway.

I got the multi-jcc-built-extension-in-same-process thing to work. There are 
good news and bad news:

  - the good:
    . it works :)

  - the bad:
    . classpath is set once per VM, there may be some class load tricks
      that can be played but it's not something on the radar at the moment.
    . it requires some JCC runtime code to be included in a shared library
      instead of a python extension (on Mac, a .dylib instead of an .so
      bundle).

Python's distutils/setuptools is not so good at knowing how to build shared 
libraries. I talked with the person behind setuptools and he said that the 
trunk had code to support this but he wasn't sure in what state it was in. 
He also said that patches to this were welcome. I'm going to look at this as 
I've hit this problem before. Supporting shared libraries between python 
extension bundles is a good thing to have in setuptools.

I think that I'm going to check-in something soon where the shared library 
building pleasure is left to the user ;) but not making it any harder to 
build the current, default way where the JCC runtime is statically linked 
into the extension. Later, once I figure out the setuptools thing, I can 
update jcc's setup.py to also build the shared library.

Andi..


More information about the pylucene-dev mailing list