【发布时间】:2016-10-31 22:41:02
【问题描述】:
我正在尝试在 osx 上安装 boost using anaconda。具体来说,我必须用gcc 编译它(而不是osx 默认的clang)。有谁知道如何做到这一点,或者这是否可以通过 conda 实现?理想情况下,我想要两个独立的 boost 库,一个用gcc 编译,一个用clang 编译。
【问题讨论】:
我正在尝试在 osx 上安装 boost using anaconda。具体来说,我必须用gcc 编译它(而不是osx 默认的clang)。有谁知道如何做到这一点,或者这是否可以通过 conda 实现?理想情况下,我想要两个独立的 boost 库,一个用gcc 编译,一个用clang 编译。
【问题讨论】:
假设anaconda安装在
/Users/you/anaconda
以下步骤应该允许您使用 python 使用 gcc 编译器绑定为 anaconda 编译 boost:
修复 anaconda 库:
install_name_tool -id /Users/you/anaconda/lib/libpython2.7.dylib /Users/you/anaconda/lib/libpython2.7.dylib
(重新)编译 boost python
mkdir /Users/you/tmp
cd /Users/you/tmp
wget http://sourceforge.net/projects/boost/files/boost/1.57.0/boost_1_57_0.tar.bz2/download
mv download boost_1_57_0.tar.bz2
tar xvjf boost_1_57_0.tar.bz2
mkdir /Users/you/anaconda_boost_install
cd boost_1_57_0
# export PATH=/usr/bin:/bin:/usr/sbin:/sbin: # might be necessary to prevent custom compilers be used
./bootstrap.sh --prefix=/Users/you/anaconda_boost_install/ --with-python=/Users/you/anaconda/bin/python2.7
./b2 link=shared
./b2 link=shared install
# source ~/.bashrc # get back $PATH
针对 anaconda 修复 libboost-python:
install_name_tool -id /Users/you/anaconda_boost_install/lib/libboost_python.dylib /Users/you/anaconda_boost_install/lib/libboost_python.dylib
注意: gcc 编译器位于/usr/bin/gcc。
取消注释以下行以使用 gcc 编译器作为默认编译器:
# export PATH=/usr/bin:/bin:/usr/sbin:/sbin: # might be necessary to prevent custom compilers be used
你可以找到完整的教程here。
【讨论】: