python - LHPDF : undefined symbol when running in Python

标签 python c++ linux python-2.7 ubuntu

我正在尝试为 LHAPDF 使用 Python 接口(interface),但我收到以下错误消息:

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    import lhapdf
ImportError: /home/n17182559/LHAPDF/lib/python2.7/site-packages/lhapdf.so: undefined symbol: _ZN6LHAPDF6ConfigD1Ev

我在 Ubuntu 17.04 上运行,使用 Python 2.7,安装了 Boost 并有一个可用的 C++ 编译器 (g++)。我相信我已经成功安装了 LHAPDF,因为我按照他们网站上的说明进行操作并且没有收到任何错误消息(仅警告 auto_ptr 已被弃用,但我认为我无法控制它)。我确实将 ~/LHAPDF/lib/python2.7/sitepackages/目录添加到 $PYTHONPATH 并将 ~/LHAPDF/bin/目录添加到 $PATH。我正在使用 LHAPDF 6.1.6(撰写本文时的最新版本)。

我从一个仅包含

#!/usr/bin/python
import lhapdf

如果它可以帮助你帮助我,我已经找到了一个 similar problem 的人,但原因似乎不是一回事(我没有安装 Anaconda)。当他们通过从 $PATH 中删除 Anaconda 解决了他们的问题时,这里是我的 $PATH 和 $PYTHONPATH,因为它们可能是问题的根源(尽管我不明白如何):

$PATH
/home/n17182559/LHAPDF/bin:/opt/applications/geant4/geant4.10.02-install/bin:/home/n17182559/ROOT/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:

$PYTHONPATH
/home/n17182559/ROOT/lib:/home/n17182559/LHAPDF/lib/python2.7/site-packages:

希望大家帮帮忙!

最佳答案

如果有人想要解决方案,我解决了它(在外部帮助下)。问题是主 LHAPDF lib 目录没有链接到我的 LD_LIBRARY_PATH。这个命令行解决了它:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/LHAPDF/lib/libLHAP‌​DF.so

(我将其添加到我的 ~/.bashrc 文件中)。

关于python - LHPDF : undefined symbol when running in Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44057555/

相关文章:

python - 在 Python 中使用 'nearest' 方法进行外推

python - Python的decode() 'utf-8'编解码器无法解码位置0 : invalid start byte的字节0xff

c++ - 使用默认参数专门化内部模板

linux - 为什么 nohup 输出进程 ID?

linux - 执行 "` 目录名 "$0"`"/../../waf "$@"

python - 将外键选择限制为 ManyToMany 字段选择

python - PyQt5 - 如何为相同的元素设置不同的样式表?

c++ - 什么是 undefined reference /未解析的外部符号错误,我该如何解决?

c++ - 成员变量的通用声明

python - 如何将值附加到 bash shell 脚本中的空数组?