[pylucene-dev] build? issues on OS X 10.5
Andi Vajda
vajda at osafoundation.org
Sat Nov 15 19:27:54 PST 2008
On Nov 15, 2008, at 19:10, "Brendan O'Connor" <brenocon at gmail.com>
wrote:
> Hi everyone. I'm getting segfaults trying to run PyLucene on OS X;
> there was also a build issue that I think might be unrelated, but not
> sure. Does any of this ring a bell?
>
> I'm using the PyLucene 2.4.0-1 tarball and built and installed JCC
> just fine. I edited PyLucene's Makefile and when running "make", the
> final linking step to make _lucene.so gives the error:
>
> ld: -rpath can only be used when targeting Mac OS X 10.5 or later
>
> I just took out rpath completely and got it to compile. Patching
> jcc/python.py in this way:
>
> --- jcc/jcc/python.py 2008-10-12 15:25:02.000000000 -0700
> +++ /opt/py26/lib/python2.6/site-packages/JCC-2.0-py2.6-macosx-10.3-
> i386.egg/jcc/python.py
> 2008-11-14 12:58:11.000000000 -0800
> @@ -1392,7 +1392,7 @@
> if shared:
> shlibdir = os.path.dirname(os.path.dirname(_jcc.__file__))
> if sys.platform in ('darwin', 'linux2'): # distutils no good
> with -R
> - args['extra_link_args'] += ['-Wl,-rpath', shlibdir]
> + #args['extra_link_args'] += ['-Wl,-rpath', shlibdir]
> args['library_dirs'] = [shlibdir]
> args['libraries'] = ['jcc']
>
> ... so without rpath I have to use DYLD_LIBRARY_PATH so pylucene can
> find jcc. I'm trying to follow the README's invocation of initVM()
> but it segfaults:
>
> ~ % DYLD_LIBRARY_PATH=/opt/py26/lib/python2.6/site-packages/JCC-2.0-
> py2.6-macosx-10.3-i386.egg/
> python
> Python 2.6rc1 (r26rc1:66416, Sep 15 2008, 22:20:00)
> [GCC 4.0.1 (Apple Inc. build 5465)] on darwin
> Type "help", "copyright", "credits" or "license" for more information.
>>>> lucene.initVM(classpath=lucene.CLASSPATH)
> [1] 10775 segmentation fault DYLD_LIBRARY_PATH= python
>
>
> Based on my quick reading about -rpath
> (http://developer.apple.com/releasenotes/DeveloperTools/RN-dyld/index.html
> )
> I don't think these issues are related, but not sure.
>
> I'm using:
> OS X 10.5
> g++ 4.0.1 (from the dev tools)
> Java 1.5.0 (from the dev tools)
> Python 2.6rc1 (built from source)
>
Use otool -L to see what version of python and libjcc.dylib your
executable is linked against.
Crashes like that usually hint at a version mismatch. If you built
python 2.6 into a non standard framework location, you must use -F in
jcc's LFLAGS to ensure extensions are linked against the correct
version of things. In particular, libjcc.dylib is at version 2.0.0
right now.
Fwiw, I've got a happy python 2.6 PyLucene running on my mac.
On mac, unless you changed JCC's LFLAGS, the build assumes a framework
build of Python (configured with --enable-framework=path)
Andi..
> Any ideas? Thanks!
> Brendan
> anyall.org
> _______________________________________________
> pylucene-dev mailing list
> pylucene-dev at osafoundation.org
> http://lists.osafoundation.org/mailman/listinfo/pylucene-dev
More information about the pylucene-dev
mailing list