如何在OS X上的pythonbrew下构建pgmagick?

Phi*_*ham 7 python macos pythonbrew

尝试pgmagick使用XCode 4.3.1在OS X Lion上构建时,我没有取得多大成功.

我已经使用以下命令(通过自制程序)安装了ImageMagick和GraphicsMagick,以及旁边的提升:

$ brew install graphicsmagick --with-magick-plus-plus
$ brew install imagemagick --with-magick-plus-plus
$ brew install boost --with-thread-unsafe
Run Code Online (Sandbox Code Playgroud)

然后我在https://bitbucket.org/hhatto/pgmagick克隆了回购:

$ hg clone https://bitbucket.org/hhatto/pgmagick/src
$ cd pgmagick
$ python setup.py build
Run Code Online (Sandbox Code Playgroud)

但是我总是收到以下错误:

ld: library not found for -lboost_python
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

根据stdout的输出,setup 正在寻找boost(/usr/local/lib)的正确位置.

我也试着easy_installpip,但没有运气.我正在使用Pythonbrew,但也禁用了这个并尝试使用股票python安装 - 仍然没有成功.

有关如何解决问题或进一步诊断问题的任何建议?

MrG*_*mez 8

根据我在brew 0.9和OSX 10.6.8中对此问题的再现,问题是--with-thread-unsafe当前的brew公式文件没有得到尊重.您可以通过检查公式brew edit boost并查看该选项是否出现在公式的内容中来验证这一点.

正因为如此,libboost_python-mt.alibboost_python-mt.dylib正在兴建的,而不是libboost_python.alibboost_python.dylib.

最简单的方法来解决这个问题是编辑您的pgmagick setup.py来代替boost_lib="boost_python"boost_lib="boost_python-mt"(如指出,在这里),或者按照指示和补丁这里.这是另一个已知问题.