2

尝试为 python 安装 lucene。首先需要安装jcc。为 jcc 构建 setup.py 时,出现错误 ld: library not found for -ljava

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

this is code
4

1 回答 1

1

JCC的文档指出:

在构建 JCC 之前需要编辑 JCC 的 setup.py 文件,以指定 Java 运行时环境的头文件和库的位置。

另请参阅构建 JCC

在我的 OSX 系统上,运行安装时发现JAVAHOME并回显:JAVAFRAMEWORKS

$ 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

所以这似乎具有误导性,但似乎仍然可以正常工作。

于 2018-02-09T18:23:04.487 回答