如何解决cmake目录libz.so.1与anaconda python隐式目录中的库冲突?蟒蛇

问题描述 投票:0回答:2

我正在尝试使用 cmake 构建一个需要 python 和 mpi 的示例。我安装了几个 python 版本,pvpython python ipython 和 anaconda python。我在 PATH 变量中设置了普通的 python (我在 ubuntu-linux 中工作) 我是 cmake 的新手。有些人说我必须更改 toolchainfile.cmake 但我在示例文件中找不到它。有关如何解决此问题的任何线索?提前致谢! 以下是我运行 ccmake 时遇到的错误。

    CMake Warning at CMakeLists.txt:14 (ADD_EXECUTABLE):

无法为目标 Fortran90FullExample 生成安全的运行时搜索路径 因为某些目录中的文件可能与隐式库冲突 目录:

runtime library [libz.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by
files in:/home/xxx/anaconda/lib
runtime library [libpython2.7.so.1.0] in /usr/lib/x86_64-linux-gnu may be
hidden by files in:
/home/xxx/anaconda/libSome of these libraries may not be found correctly.
python cmake paraview
2个回答
1
投票

我在/usr/lib/x86_64-linux-gnu目录中搜索了文件libz.so.1,它就在里面。所以我专门为此目录而不是 anaconda 目录设置了路径。

这次我使用 ccmake 而不是 cmake,并且我能够轻松给出 /usr/lib/x86_64-linux-gnu 上的路径而不是 anaconda 路径。 另外,我将 python 路径从 anaconda python 更改为通常的 python 位置,对我来说是 /usr/bin 。

我将其添加到路径中 路径=/usr/bin:$PATH 这会将其添加到 PATH 变量的前面,并且不会影响已有的内容。 我还必须设置 PYTHONHOME=$PYTHONPATH 来消除所有相关错误


0
投票

我重命名了 Anaconda 文件夹,它对我有用。

$ mv anaconda3 anaconda3_temp

然后运行

$ cmake ..

构建成功后,就可以重命名Anaconda文件夹了。

© www.soinside.com 2019 - 2024. All rights reserved.