2015-09-09 23:16:43 xzbaimildcat 阅读数 709

有时候也许你想更改一下libc.so这个link指向的libc的版本,于是你先把libc.so删除了,然后执行下面这个命令使其指向一个新的版本:


/bin/ln -s /lib/libc-2.11.3.so /lib/libc.so.6


结果发现出现这样的错误:


/bin/ln: error while loading shared libraries: libc.so.6: 
    cannot open shared object file: No such file or directory


不仅如此,你会发现几乎其他的所有的基本shell命令都无法work了,这个时候,你慌了,像做了一个坏事的孩子一样,怕被人发现,同时也许会觉得,你的手太贱了!


还好,还没到重装系统的地步,一个有效的解决办法是:


ldconfig -l -v /lib/libc-2.11.3.so


  -l                         Manually link individual libraries.

2018-12-17 10:25:59 stm32_newlearner 阅读数 1139

在编译openCV程序时,出现报错:

/usr/bin/ld: warning: libicui18n.so.52, needed by /opt/Qt5.3.2/5.3/gcc_64/lib/libQt5Core.so.5, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicuuc.so.52, needed by /opt/Qt5.3.2/5.3/gcc_64/lib/libQt5Core.so.5, not found (try using -rpath or -rpath-link)

提示缺少链接文件,libicui18n.so.52,使用命令ldd /opt/Qt5.3.2/5.3/gcc_64/lib/libQt5Core.so.5查找到所有的链接文件,其中就有libicui18n.so.52的链接路径:
libicui18n.so.52 => /opt/Qt5.3.2/5.3/gcc_64/lib/libicui18n.so.52 (0x00007f690e1c0000)
将此路径添加到环境变量LD_LIBRARY_PATH中;
export LD_LIBRARY_PATH=/opt/Qt5.3.2/5.3/gcc_64/lib/:$LD_LIBRARY_PATH
再次编译就不会报错了。

2012-03-13 01:20:01 iteye_1429 阅读数 47

linux环境下用cocos2d-x开发游戏时,遇到了

warning: libfmodex64.so, needed by ../../lib/linux/Debug/libcocosdenshion.so, not found (try using -rpath or -rpath-link

问题,(在公司的ubuntu11.10下没有这个问题)

ps:linux下cocos2d-x的问题比较多,除了一些我们没发解决的bug外,大部分是文件路径的问题。

 

解决办法如下:

 

查看cocos2dx/CocosDenshion/third_party/linux/fmod/lib64/api/lib/目录下有没有libfmodex64.so这个文件,若没有,则切换到该目录,设置软连接:

ln -s libfmodex64*.so libfmodex64.so

ln -s libfmodexL64*.so libfmodexL64.so

 

然后修改项目目录下的/Linux/MakeFile文件 (0.12.0版本的大写Linux目录全部换成小写linux,解压完之后需要手工改写:

cocos2dx/CocosDenshion/proj.linux/Makefile和cocos2dx/cocos2dx/proj.linux/Makefile里的路径Linux换成linux)

把原来的:

SHAREDLIBS = -L../../lib/linux/Debug -lcocos2d -lrt -lz -lcocosdenshion -Wl,-rpath,../../lib/linux/Debug/

修改为:

SHAREDLIBS = -L../../lib/linux/Debug -lcocos2d -lrt -lz -lcocosdenshion -Wl,-rpath,../../lib/linux/Debug/  -Wl,-rpath,../../CocosDenshion/third_party/linux/fmod/lib64/api/lib/

 

2017-06-20 15:49:28 billbliss 阅读数 5885

在安装CUDA之后总是会出现链接问题

/usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link
/usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link
/usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5 is not a symbolic link

查阅资料发现是 软连接的版本可能不对了,所以找不到链接

小结:

1. sudo ln -s 重建软连接

sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.66 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.66 /usr/lib32/nvidia-375/libEGL.so.1

sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so

2. ldconfig 当有XXX.so.x is not a symbolic link存在的时候 会报错


使用 ls -l 查询不到软连接的目标:软连接目标为空

比如:

bliss-PC:~$ ls -l /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5
-rwxr-xr-x 1 root root 84163560  5月 13 20:26 /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5

一. libEGL.so.1 is not a symbolic link的解决方法是重新链接它的目标

#备份旧的软连接(可以不做)
sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
比如对于libEGL.so.375.39重建链接
#重建新的软连接
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1

因为我本机的版本是 libEGL.so.375.66

sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.66 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.66 /usr/lib32/nvidia-375/libEGL.so.1

二. libcudnn.so.5 is not a symbolic link的解决方法是重新链接它的目标

在cudnn目录中查询链接 发现为空

cd /usr/local/cuda/lib64
ls -l libcudnn.so
-rwxr-xr-x 1 root root 84163560  5月 13 20:26 libcudnn.so
ls -l libcudnn.so.5 
-rwxr-xr-x 1 root root 84163560  5月 13 20:26 libcudnn.so.5
重新覆盖 添加软链接

sudo ln -sf libcudnn.so.5.10 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so

2018-10-29 22:58:13 CAU_Ayao 阅读数 2889

错误/sbin/ldconfig.real: /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudnn.so.7 is not a symbolic link的原因及解决方法。


在Ubuntu18.04下配置Caffe-GPU时候,运行以下代码出现libcudnn.so.7 is not a symbolic link的错误.

sudo apt install caffe-cuda

出错截图:
在这里插入图片描述
首先打开libcudnn.so.7所在的目录.

cd /usr/local/cuda-9.0/lib64/

发现Libcudnn.so.7 和libcudnn.so.7.0.5 两个文件,但 理论上只有一个libcudnn.so.7.0.5.
在这里插入图片描述
在终端执行:

sudo ln -sf /usr/local/cuda-9.0/lib64/libcudnn.so.7.0.5 /usr/local/cuda-9.0/lib64/libcudnn.so.7

在这里插入图片描述
重新运行以下代码:

sudo apt install caffe-cuda

完美通过,如图所示:
在这里插入图片描述
至此,此错误完美解决~!

没有更多推荐了,返回首页