您的位置:首页 > 产品设计 > UI/UE

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

2017-06-20 15:32 483 查看
在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
billbliss@billbliss-PC:~/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
相关文章推荐