无法打开共享对象文件:没有这样的文件或目录
问题描述:
我遇到了在带有割炬的群集的头节点上找不到的共享库。我已经建立了库,并指定了库的正确路径,同时编译我自己的程序“荒谬”由g ++。所以我看起来很奇怪。任何想法?感谢致敬!无法打开共享对象文件:没有这样的文件或目录
[[email protected] release]$ make
...
...
g++ -pipe -W -Wall -fopenmp -ggdb3 -O2 -I/home/tim/program_files/ICMCluster/ann_1.1.1/include -I/home/tim/program_files/ICMCluster/libsvm-2.89 -I/home/tim/program_files/ICMCluster/svm_light -o absurdity xxxxxx.o -L/home/tim/program_files/ICMCluster/ann_1.1.1/release/lib -L/home/tim/program_files/ICMCluster/libsvm-2.89/release/lib -L/home/tim/program_files/ICMCluster/svm_light/release/lib -lm -ljpeg -lpng -lz -lANN -lpthread -lsvm -lsvmlight
[[email protected] release]$ ./absurdity
./absurdity: error while loading shared libraries: libsvmlight.so: cannot open shared object file: No such file or directory
[[email protected] release]$ ls /home/tim/program_files/ICMCluster/svm_light/release/lib/libsvmlight.so -l
-rwxr-xr-x 1 tim Brown 121407 Jan 31 12:14 /home/tim/program_files/ICMCluster/svm_light/release/lib/libsvmlight.so
[[email protected] release]$ LD_LIBRARY_PATH= /home/tim/program_files/ICMCluster/svm_light/release/lib:$LD_LIBRARY_PAT
[[email protected] release]$ export LD_LIBRARY_PATH
[[email protected] release]$ ./absurdity
./absurdity: error while loading shared libraries: libsvmlight.so: cannot open shared object file: No such file or directory
[[email protected] release]$ ls /home/tim/program_files/ICMCluster/svm_light/release/lib
libsvmlight.a libsvmlight.so
答
您LD_LIBRARY_PATH
不包括路径libsvmlight.so
。
$ export LD_LIBRARY_PATH=/home/tim/program_files/ICMCluster/svm_light/release/lib:$LD_LIBRARY_PATH
答
从我的答案抄在这里:作为根更新缓存https://*.com/a/9368199/485088
运行
ldconfig
- 如果仍不能解决问题,则需要的路径添加到文件ld.so.conf
(只需键入它在自己的行中)或更好的是,将该条目添加到目录ld.so.conf.d
中的新文件(更易于删除)。
答
在超级计算机上工作时,我当我跑收到此错误:
module load python/3.4.0
screen
python
要解决的错误,我只是需要重新加载屏幕终端模块:
module load python/3.4.0
python
答
sudo ldconfig
ldconfig创建必要的链接并缓存到最近的共享库中fo und在命令行中指定的目录中,/etc/ld.so.conf文件中和受信任的目录(/ lib和/ usr/lib)中。
一般包管理器负责这在安装新的库,但并非总是如此(特别是当你安装库cmake
)。
如果这个输出是空
$ echo $LD_LIBRARY_PATH
请设置默认路径
$ LD_LIBRARY_PATH=/usr/local/lib
谢谢,Maurits的。但奇怪的是它不工作。对不起,我忘了添加到帖子,但现在我已经完成了。 – Tim 2010-01-31 17:46:00
好的,它现在正在工作。不知道为什么。也许集群的文件系统有一些问题。 – Tim 2010-01-31 17:56:02
伟大的是我的问题。 – 2014-03-04 20:01:43