欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

(含软连接修改的分析) 安装caffe 出现libcurl.so.4: no version information available (required by cmake)

程序员文章站 2022-07-08 14:46:25
...

在ros中catkin_make,出现了libcurl.so.4: no version information available (required by cmake)

于是在cmake上确认一下具体情况:

bliss-PC:~/catkin_ws$ cmake --version
cmake: /home/billbliss/anaconda2/lib/libcurl.so.4: no version information available (required by cmake)

先写结论:使用anaconda来编译pycaffe是不需要添加anaconda的环境变量的

不然会让一些库产生冲突!

#anaconda2
export PATH=/home/billbliss/anaconda2/bin:$PATH
#export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/billbliss/anaconda2/lib"

上面的第一行是anaconda自行添加的

第二行是我在配置的时候添加的,其实anaconda的库的管理是自动的,自行添加环境变量反而会出错!


库的软链接指令速查

#1. locate 定位库的信息
locate libcurl.so.4
#2. ls -l  查看链接
ls -l /usr/local/lib/libcurl.so.4
#3. sudo rm -rf 删除软连接
sudo rm -rf /usr/lib/x86_64-linux-gnu/libcurl.so.4
#4. sudo ln -s 重建软连接
sudo ln -s /home/anaconda2/lib/libcurl.so.4.4.0 /home/anaconda2/lib/libcurl.so.4
#5. cmake --version 使用cmake时的链接库,如果有冲突则会报错。没有冲突,会输出版本信息
cmake --version



下面详细分析一下入坑的分析

no version information available (required by cmake)  没有可用的版本信息

一般是因为库的版本冲突导致的

1. 先用locate定位库的信息

bliss-PC:~/catkin_ws$ locate libcurl.so.4
/home/bliss/anaconda2/lib/libcurl.so.4
/home/bliss/anaconda2/lib/libcurl.so.4.4.0
/home/bliss/anaconda2/pkgs/curl-7.52.1-0/lib/libcurl.so.4
/home/bliss/anaconda2/pkgs/curl-7.52.1-0/lib/libcurl.so.4.4.0
/usr/lib/x86_64-linux-gnu/libcurl.so.4
/usr/lib/x86_64-linux-gnu/libcurl.so.4.3.0


这种错误一般是soft link 造成的

可以用ls -l 来查看链接

bliss-PC:~/catkin_ws$ ls -l /home/billbliss/anaconda2/lib/libcurl.so.4
lrwxrwxrwx 1 root root 46  6月 17 23:32 /home/billbliss/anaconda2/lib/libcurl.so.4 -> /home/billbliss/anaconda2/lib/libcurl.so.4.4.0
[email protected]:~/catkin_ws$ cmake -version

通常的做法是两步

1)sudo rm -rf 删除软连接

2)sudo ln -s 重建软连接

举个例子

sudo rm -rf /usr/lib/x86_64-linux-gnu/libcurl.so.4
sudo ln -s /home/billbliss/anaconda2/pkgs/curl-7.52.1-0/lib/libcurl.so.4.4.0 /usr/lib/x86_64-linux-gnu/libcurl.so.4
这里就是把/usr/lib/x86_64-linux-gnu/libcurl.so.4 重链接到了/home/billbliss/anaconda2/pkgs/curl-7.52.1-0/lib/libcurl.so.4.4.0

再查看一下链接

ls -l /usr/lib/x86_64-linux-gnu/libcurl.so.4lrwxrwxrwx 1 root root 65  6月 17 23:27 /usr/lib/x86_64-linux-gnu/libcurl.so.4 -> /home/bliss/anaconda2/pkgs/curl-7.52.1-0/lib/libcurl.so.4.4.0

好了  坑就不多说了,在修改了软连接之后。并没有改变冲突。

经过查阅资料,偶然发现之前把anaconda的库目录添加到环境变量是个问题。

于是修改~/.bashrc

gedit ~/.bashrc

#anaconda2
export PATH=/home/billbliss/anaconda2/bin:$PATH
#export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/billbliss/anaconda2/lib"
后一个是我自己加的,需要注释掉!

然后更新环境变量

source ~/.bashrc




相关标签: linux