【发布时间】:2015-10-13 07:08:03
【问题描述】:
我正在使用依赖于 Boost、Armadillo 的 python 包 (carmcmc)。我收到以下错误:
import carmcmc
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/admin/anaconda/lib/python2.7/site-packages/carmcmc/__init__.py", line 1, in <module>
from _carmcmc import *
ImportError:
dlopen(/Users/admin/anaconda/lib/python2.7/site-packages/carmcmc/_carmcmc.so, 2):
Library not loaded: /usr/local/lib/libarmadillo.5.dylib
Referenced from: /Users/admin/anaconda/lib/python2.7/site-packages/carmcmc/_carmcmc.so
似乎缺少 lib armadillo.5.dylib,但我不知道它的作用或如何修改它的缺失。
我是这样安装的:
- 使用自制软件安装了 Armadillo 依赖项
- 用自制软件安装犰狳
- 已安装 Boost
- 已安装 Boost-python
- 为包运行 setup.py install
setup.py 运行时有一些异常,但我没有发现任何致命问题。
这是版本问题吗?我仍然缺少依赖项吗?任何帮助表示赞赏。
【问题讨论】:
-
你是否检查过你是否有一个名为 /usr/local/lib/libarmadillo* 的文件
-
事实证明,我有一个文件,其末尾附加了一个版本号。我手动卸载,重新安装,因为 home-brew 没有我需要的早期版本,并且在安装过程中没有创建库。所以我仍然被同样的问题困在同一个地方。
-
通常可以(如果支持向后兼容性)简单地链接文件,因此从 brew 安装它而不是将 /usr/local/lib/libarmadillo.6.dylib 链接到 /usr/local/lib /libarmadillo.5.dylib
标签: python c++ python-2.7 boost