红帽系统运行程序找不到共享库问题

红帽系统运行程序找不到共享库问题

问题出现

在centos上执行一个使用protobuf的程序时,提示了如下错误
在这里插入图片描述

问题原因

第一个原因是没有主机上没有安装该共享库,导致连接失败

第二种原因是已经安装了该共享库,但是程序执行调用该共性库时,程序按照默认路径找不到该共享库,因为很多共享的开源库安装的默认安装的路径时/usr/local/lib,而红帽系统一般只会默认在/lib、/use/lib和动态库配置文件中寻找共享库,因此就会出现找不到的问题

解决办法

1、直接将共享的开源库安装到/lib或者/usr/lib目录中,然后执行一下ldconfig命令

2、如果和共享库安装在了其他非默认路径下,例如/usr/local/lib下,需要在配置文件中将该目录写入

# vim /ect/ld.so.conf

在配置文件中加上共享库的目录(如图中的/usr/local/lib)然后执行ldconfig

在这里插入图片描述
ldconfig的作用

主要是在默认的搜索目录(/lib和/usr/lib)以及动态库的配置文件/ect/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(lib*.so.*),进而创建出动态装入程序(ld.so)所需要的链接和缓存文件,缓存文件默认/etc/ld.so.cache,此文件中保存已排序好的动态链接库名列表

通常当用户安装了一个新的动态共享库时,就需要手动调用ldconfig命令,确保系统将新安装的动态库添加到动态库配置文件中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值