error while loading shared libraries xx.so处理方法
发布时间:2023-10-06 15:02:05
一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如:
tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可.
另外一个原因就是已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件.
所以安装共享库后要注意共享库路径设置问题, 如下:
1) 如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令
ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表.
2) 如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它"非/lib或/usr/lib"目录下, 那么在执行ldconfig命令前, 还要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中, 如下:
# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
# echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig
3) 如果共享库文件安装到了其它"非/lib或/usr/lib" 目录下, 但是又不想在/etc/ld.so.conf中加路径(或者是没有权限加路径). 那可以export一个全局变量LD_LIBRARY_PATH, 然后运行程序的时候就会去这个目录中找共享库.
LD_LIBRARY_PATH的意思是告诉loader在哪些目录中可以找到共享库. 可以设置多个搜索目录, 这些目录之间用冒号分隔开. 比如安装了一个mysql到/usr/local/mysql目录下, 其中有一大堆库文件在/usr/local/mysql/lib下面, 则可以在.bashrc或.bash_profile或shell里加入以下语句即可:
export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH
一般来讲这只是一种临时的解决方案, 在没有权限或临时需要的时候使用.


猜你喜欢
- 前言我们将应用以Docker容器的方式部署到服务器上的时候,通常需要考虑两个方面的的问题:网络和存储。网络方面,有些应用需要占用端口,而其中
- 前言该系列默认开启Nacos 服务,还不会搭建的小伙伴可以参考往期文章~本节重点是给大家介绍利用docker来搭建Es集群,废话不多说直接开
- 域名的概念与机制1. 介绍本文主要介绍域名(DNS)的一些机制及实现方法,下面我们就具体看一下它的情况。1.1. 域名的历史产生域名的的根本
- 在安装配置过程中走过很多弯路,现在就简单点总结。方便大家学习参考。安装步骤如下:1、安装ftp,相信这步很简单# yum -y instal
- lvs+keepalived是什么? keepalived工作原理keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于
- 在可执行 java命令的情况下查找过程如下:执行which java[root@localhost ~]# which java/usr/b
- GodaddyGiftCard简介:GodaddyGiftCard可以在godaddy网站上购买任何产品,像货币一样,在godaddy网站可
- 由于企业希望改进IT基础架构节省成本,所以CIO和数据中心管理人员都转向了通过合并服务器的方法以实现节省费用。其实,这么做并非易事。由于企业
- 本文所述的方法在RHEL6.5、RHEL7和CentOS6.5中同样适用。1.工具:VirtualBox,虚拟机:CentOS72.Virt
- 1、SEO是什么?全称叫搜索引擎优化。人们使用搜索引擎查找自己需要的信息,那么作为网站的主人,我们希望用户通过搜索引擎能来到自己的网站。这就
- 让我们跳过理论来看看实际对Google有效的方法。我知道下面的这个系统对Google来说,每一次都有效,而且对所有的关键词都有效。这个系统是
- 一. 环境变量$PATH:Linux是一个多用户操作系统,每个用户都有自己专有的运行环境。用户所使用的环境由一系列变量所定义,这些变量被称为
- 本文讲述了Apache本地二级域名配置方法。分享给大家供大家参考,具体如下:我们在本地调试web程序时,常有很多不同的项目。不同的项目,我们
- Godaddy主机用户怎样在同一个目录里拷贝文档或者整个文件夹,下面我简单的讲解下拷贝的过程:第一. 使用目录树找到你想拷贝的文档或者文件夹
- 本文实例讲述了CentOS使用本地yum源搭建LAMP环境。分享给大家供大家参考,具体如下:【准备工作】配置防火墙,开启80端口、3306端
- 本文简单介绍怎样登录Godaddy账户,并将Godaddy账户中的主要内容翻译为中文供大家参考第一:访问Godaddy的网站:Godaddy
- VirtualBox主机虚拟机互通的实现方法,供大家参考,具体内容如下首先使用的是桥接模式,桥接模式相当于是使用Hub来把主机以及虚拟机进行
- 杀死所有正在运行的容器docker kill $(docker ps -a -q) 删除所有已经停止的容器docker rm $(
- VirtualBoxVirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Micr
- 大家可以看到我使用的wordpress主题是萧涵seo博客的主题,个人非常喜欢这种绿色风格的模板,给人清新向上的感觉。这套模板我已经发表了第