Попытка установить Lucene для Python. Сначала нужно установить jcc. При создании setup.py для jcc я получаю сообщение об ошибке ld: библиотека не найдена для -ljava

Попытка установить Lucene для Python. Сначала нужно установить jcc. При создании setup.py для jcc я получаю сообщение об ошибке ld: библиотека не найдена для -ljava

Entire error can be found [here][1]: 

this is code

1 ответ

Решение

Документация для СКК гласит:

Файл JCC setup.py необходимо отредактировать перед сборкой JCC, чтобы указать расположение заголовочных файлов и библиотек среды выполнения Java.

Смотрите также здание JCC.

В моей системе OSX обнаруженный JAVAHOME а также JAVAFRAMEWORKS отображаются при запуске install:

$ python setup.py install
found JAVAHOME = /Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home
found JAVAFRAMEWORKS = /System/Library/Frameworks/JavaVM.framework
...

Я тестировал с Python 2.7. Кроме того, из jcc исходный каталог:

>>> from helpers2.darwin import JAVAHOME, JAVAFRAMEWORKS
found JAVAHOME = /Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home
found JAVAFRAMEWORKS = /System/Library/Frameworks/JavaVM.framework

Если твой JAVAHOME не обнаружен, вы можете установить переменную среды JCC_JDK, Пример:

$ ls /Library/Java/JavaVirtualMachines/
jdk1.7.0_80.jdk     jdk1.8.0_25.jdk
jdk1.8.0_141.jdk    jdk1.8.0_91.jdk
$ JCC_JDK=/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home python setup.py install

В этом случае это выглядит как jdk1.7.0_80 используется для компиляции, но первые две строки вывода:

found JAVAHOME = /Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home
found JAVAFRAMEWORKS = /System/Library/Frameworks/JavaVM.framework

Так что это вводит в заблуждение, но, похоже, все еще работает правильно.

Другие вопросы по тегам