运行protobuf程序碰见一个小错误,记录一下:
error while loading shared libraries: libprotobuf.so.8: cannot open shared object file: No such file
找不到对应的库文件,一般是路径问题。安装路径没有加入到配置中所以报错。
通过find查找,找到 libprotobuf.so.8 文件,如果没有找到,那么需要装protobuf(参见文章最后)。
确认,是否创建了ld指向文件 /etc/ld.so.conf.d/libprotobuf.conf ,内容如下:(然后,需要执行:sudo ldconfig 命令)
/usr/local/lib
确认,是否配置了LD路径(最好,写到/etc/profile中,还需要执行source;或者直接执行export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH,临时使用):
LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
如果,机器上没有编译安装protobuf,老老实实编译安装:
1、下载protobuf-2.5.0.tar.gz
百度搜下protobuf-2.5.0.tar.gz。
2、编译
$tar -zxvf protobuf-2.5.0.tar.gz
$cd protobuf-2.5.0
$./configure
$sudo make
$sudo make check
$sudo make install
3、配置LD_LIBRARY_PATH
新建/etc/ld.so.conf.d/libprotobuf.conf (vim /etc/ld.so.conf.d/libprotobuf.conf ),内容如下:
/usr/local/lib
然后,需要执行命令
sudo ldconfig
添加路径
# vim /etc/profile
LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
# source /etc/profile