Как собрать Python с Clang на Mac OS X Mavericks

Как мне собрать Python с помощью Clang в Mac OS X? Mavericks уже поставляется с установленным Python 2.7. Причина, по которой я спрашиваю, заключается в том, что у меня возникли проблемы с установкой PyLucene, и, возможно, это связано с тем, что Python был скомпилирован с помощью чего-то другого, кроме Clang, а JCC как часть PyLucene необходимо скомпилировать с помощью Clang.


person stevetronix    schedule 14.11.2014    source источник
comment
ты пробовал хомбрю? brew.sh brew install python. и посмотрите, работает ли этот питон.   -  person Dyno Fu    schedule 14.11.2014
comment
Я сделал это, но, похоже, это не работает, возможно, из-за конфликта с предустановленными версиями Python, которые поставляются с OS X Mavericks.   -  person stevetronix    schedule 14.11.2014
comment
Питон Brew не конфликтует с питоном системы, поскольку он просто устанавливает его в другой каталог.   -  person Nima    schedule 15.11.2014


Ответы (1)


теперь я вижу вашу проблему. при построении jcc,

clang++ -Wl,-x -dynamiclib -undefined dynamic_lookup build/temp.macosx-10.9-x86_64-2.7/jcc/sources/jcc.o build/temp.macosx-10.9-x86_64-2.7/jcc/sources/JCCEnv.o -o build/lib.macosx-10.9-x86_64-2.7/libjcc.dylib -L/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib -ljava -L/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/server -ljvm -Wl,-rpath -Wl,/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib -Wl,-rpath -Wl,/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/server -Wl,-S -install_name @rpath/libjcc.dylib -current_version 2.21 -compatibility_version 2.21
ld: internal error: atom not found in symbolIndex(__ZN7JNIEnv_13CallIntMethodEP8_jobjectP10_jmethodIDz) for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'clang++' failed with exit status 1

на самом деле это известная проблема, и решение здесь -x флаг ссылки, вызывающий ошибки ссылки в Mac OSX 10.9 (ошибка?) просто запустите приведенную выше команду clang++ без "-x" в том же каталоге. а затем снова запустите "сборку python setup.py"...

person Dyno Fu    schedule 18.11.2014