(含软连接修改的分析) 安装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
上一篇: 常用校验类正则表达式大全