【问题标题】:How to build Python with Clang on Mac OS X Mavericks如何在 Mac OS X Mavericks 上使用 Clang 构建 Python
【发布时间】:2014-11-14 17:08:27
【问题描述】:

如何在 Mac OS X 上使用 Clang 构建 Python? Mavericks 已经安装了 Python 2.7。我问的原因是因为我在尝试安装 PyLucene 时遇到问题,这可能是因为 Python 是用 Clang 以外的东西编译的,而作为 PyLucene 一部分的 JCC 需要用 Clang 编译。

【问题讨论】:

  • 你试过 hombrew 吗? brew.sh brew install python。看看这条蟒蛇是否有效。
  • 我做了,但它似乎不起作用,可能是因为与 OS X Mavericks 随附的预安装 Python 版本冲突
  • Brew 的 python 与系统的 python 没有冲突,因为它只是将它安装在另一个目录中。

标签: python macos clang pylucene


【解决方案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 link flag causing link errors on Mac OSX 10.9 (bug?) 只需在同一目录中运行上面没有“-x”的clang++命令。然后再次运行“python setup.py build”...

【讨论】:

    猜你喜欢
    • 2013-10-21
    • 2013-11-05
    • 1970-01-01
    • 2017-02-11
    • 2014-05-06
    • 2013-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多