Andi: I wanted to confirm this before I replied. Here is what I have discovered re: the platform detection problem.
If I go to http://python.org/download/ and get the Python 2.6.2 Mac Installer Disk Image (http://python.org/ftp/python/2.6.2/python-2.6.2-macosx2009-04-16.dmg), then open the installer, it installs Python 2.6 with no apparent problem. However, it also creates a Makefile at /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/config/Makefile wherein the following line is included: MACOSX_DEPLOYMENT_TARGET=10.3 As it turns out, Python distutils.sysconfig.py calls a function, parse_makefile() that pulls most of its values from this makefile. So, the end result is that in Python: >>> from distutils.sysconfig import get_config_vars >>> cfgvars = get_config_vars() >>> cfgvars['MACOSX_DEPLOYMENT_TARGET'] '10.3' and: >> from distutils.util import get_platform >> get_platform() 'macosx-10.3-fat' I am at a loss to explain who is at fault here but the .dmg is a prime suspect. Nonetheless a really simple solution is to edit the Makefile and change the 10.3 to 10.5 (or whatever is appropriate for your system) as in: MACOSX_DEPLOYMENT_TARGET=10.5 now: >>> get_platform() 'macosx-10.5-fat' This solves the first problem, but make still hangs, now with the following: g++ -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g -bundle -undefined dynamic_lookup build/temp.macosx-10.5-fat-2.6/build/_lucene/__init__.o build/temp.macosx-10.5-fat-2.6/build/_lucene/__wrap01__.o build/temp.macosx-10.5-fat-2.6/build/_lucene/__wrap02__.o build/temp.macosx-10.5-fat-2.6/build/_lucene/__wrap03__.o build/temp.macosx-10.5-fat-2.6/build/_lucene/functions.o build/temp.macosx-10.5-fat-2.6/build/_lucene/JArray.o build/temp.macosx-10.5-fat-2.6/build/_lucene/JObject.o build/temp.macosx-10.5-fat-2.6/build/_lucene/lucene.o build/temp.macosx-10.5-fat-2.6/build/_lucene/types.o -L/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages -ljcc -o build/lib.macosx-10.5-fat-2.6/lucene/_lucene.so -framework JavaVM -Wl,-S -Wl,-rpath /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages ld: library not found for -ljcc collect2: ld returned 1 exit status ld: library not found for -ljcc collect2: ld returned 1 exit status lipo: can't open input file: /var/folders/7r/7r4PlyAYE0CN5MeqK98dBk+++TQ/-Tmp-//ccexpZmi.out (No such file or directory) error: command 'g++' failed with exit status 1 make: *** [compile] Error 1 I added: export DYLD_LIBRARY_PATH=/Users/ralph/pylucene/jcc/build/lib.macosx-10.5-fat-2.6 to my .profile as this is where libjcc.dylib resides, but this did not seem to fix the problem. So, any suggestions? Ralph j...@apache.org> wrote: > > On Wed, 2 Sep 2009, Ralph Seward wrote: > >> In Python: >>>>> >>>>> from distutils.util import get_platform >>>>> get_platform() >> >> 'macosx-10.3-fat' > > Apart from the platform detection problem which comes from your setup, there > is a bug in JCC where it adds -Wl,-rpath to the link args without checking > first that the target platform is at least Mac OS X 10.5. > This is around line 1451 in JCC's python.py file. > > If you have the logic to check the target OS version, please send in a patch > that fixes this. > > Note that if you link the JCC executables without -Wl,-rpath, you'll have to > then set DYLD_LIBRARY_PATH so that libjcc.dylib can be found. > Adding code to emit a warning to that effect in that patch would help too. > > Thanks ! > > Andi.. > >> >> Ah ha... >> >> On Wed, Sep 2, 2009 at 2:56 PM, Ralph Seward<rj.sew...@gmail.com> wrote: >>> >>> Hey Andi, >>> >>> I am attempting to setup PyLucene on a Mac with OS X 10.5 (Leopard) >>> with Python 2.6 and I am encountering a small problem. I Googled >>> around and I saw your comment on something similar at >>> http://www.mail-archive.com/pylucene-...@osafoundation.org/msg02516.html >>> and I wondered if this was ever sorted out. >>> >>> I do this: >>> svn co http://svn.apache.org/repos/asf/lucene/pylucene/trunk pylucene >>>> >>>> Checked out revision 810649. >>> >>> cd pylucene/jcc/ >>> python setup.py build >>> >>> at which point I get: >>> running build >>> running build_py >>> creating build/lib.macosx-10.3-fat-2.6 >>> creating build/lib.macosx-10.3-fat-2.6/jcc >>> etc... >>> >>> which appears to be an incorrect detection of my OS. >>> >>> then I do: >>> cd .. >>> nano Makefile >>> # Mac OS X (Python 2.6.2, Java 1.5) >>> PREFIX_PYTHON=/usr/local >>> ANT=ant >>> PYTHON=$(PREFIX_PYTHON)/bin/python >>> JCC=$(PYTHON) -m jcc.__main__ --shared >>> NUM_FILES=2 >>> ... and save it ... >>> >>> Then I run: >>> make >>> and it seems to be doing OK until it fails with: >>> >>> ld: -rpath can only be used when targeting Mac OS X 10.5 or later >>> collect2: ld returned 1 exit status >>> lipo: can't open input file: /var/tmp//ccmnAMJQ.out (No such file or >>> directory) >>> error: command 'g++' failed with exit status 1 >>> make: *** [compile] Error 1 >>> >>> which, if the OS was properly detected, I'm guessing not happen. >>> >>> So, I was wondering if you had any insight as to the cause or >>> resolution to this problem. >>> >>> Thanks in advance. >>> >>> Ralph >>> >