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_install
和pip
,但没有运气.我正在使用Pythonbrew,但也禁用了这个并尝试使用股票python安装 - 仍然没有成功.
有关如何解决问题或进一步诊断问题的任何建议?
根据我在brew 0.9和OSX 10.6.8中对此问题的再现,问题是--with-thread-unsafe
当前的brew公式文件没有得到尊重.您可以通过检查公式brew edit boost
并查看该选项是否出现在公式的内容中来验证这一点.
正因为如此,libboost_python-mt.a
与libboost_python-mt.dylib
正在兴建的,而不是libboost_python.a
和libboost_python.dylib
.
最简单的方法来解决这个问题是编辑您的pgmagick setup.py来代替boost_lib="boost_python"
用boost_lib="boost_python-mt"
(如指出,在这里),或者按照指示和补丁这里.这是另一个已知问题.