所以我编辑了我的/etc/ld.so.conf
文件,现在它看起来像这样:
include /opt/intel/mkl/lib/intel64_lin
include /etc/ld.so.conf.d/*.conf
include /usr/local/lib
我尝试运行sudo ldconfig -v
,但在输出中它似乎甚至没有尝试加载MKL库目录。当我尝试使用MKL运行程序时,它失败了。但是,如果我在/usr/local/lib
中添加了一个符号链接到/etc/ld.so.conf.d/libc.conf
中的正确库,那么它就会起作用。显然这是一个简单的解决方案,但我想了解为什么ldconfig
失败了?
答案 0 :(得分:2)
您必须自己添加库或目录:
/full/Path/to/library.so/or/directory
到/etc/ld.so.conf
档案
您必须在配置文件中的目录之前删除 include 一词。
来自man ldconfig
:
ldconfig实用程序用于准备一组“提示”以供使用 通过 动态链接器,便于快速查找可用的共享库 在多个目录中 < ...>
命令行中命名的文件应包含目录 扫描共享库。每个目录的路径名必须以新的开头 线。以注释字符“#”开头的空白行和行是 忽略。文件名必须符合lib * .so。[0-9]模式才能 被添加到提示文件。