【转】error while loading shared libraries: xxx.so.x 错误的原因和解决办法

原博客地址:http://www.cnblogs.com/Anker/p/3209876.html#undefined

error while loading shared libraries: xxx.so.x" 错误的原因和解决办法

今天在执行一个protobuf程序时,提示error while loading shared libraries: libprotobuf.so.8: cannot open shared object file: No such file or directory错误。google了一下,是由于找不到lib这个文件。

解决办法:

一般我们在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    

一般来讲这只是一种临时的解决方案, 在没有权限或临时需要的时候使用.

参考:

http://blog.csdn.net/sahusoft/article/details/7388617

http://www.360doc.com/content/10/0601/09/11991_30616166.shtml

转载于:https://www.cnblogs.com/zyj1314520/p/6514145.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456291.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flask学习记录之Flask-SQLAlchemy

Flask-SQLAlchemy库让flask更方便的使用SQLALchemy,是一个强大的关系形数据库框架,既可以使用orm方式操作数据库,也可以使用原始的SQL命令. Flask-Migrate 是一个数据迁移框架,需要通过Flask-script库来操作. 一.配置Flask-SQLAlchemy 程序使用的数据库地址需要配置在SQLALCH…

Postico —— OS X 上的免费 PostgreSQL 客户端

Postico 是 OS X 下的一个 PostgreSQL 客户端管理工具。要求 OS X 10.8 或者更新版本。 文章转载自 开源中国社区 [http://www.oschina.net]

hdu 1760 A New Tetris Game(搜索博弈)

题目链接&#xff1a;hdu 1760 A New Tetris Game 题意&#xff1a; 给你一个矩阵&#xff0c;0表示可以放格子&#xff0c;现在给你2*2的格子&#xff0c;lele先放&#xff0c;问是否能赢。 题解&#xff1a; 爆搜。具体看代码 1 #include<bits/stdc.h>2 #define F(i,a,…

flask-restful接口

同flask一样&#xff0c;flask-restful同样支持返回任一迭代器&#xff0c;它将会被转换成一个包含原始 Flask 响应对象的响应&#xff1a; class ArticleApi(Resource):def get(self):return {"hello":"world"},201&#xff0c;{"course":&quo…

如约而至 Nexus 6 的 Android 7.1.1 已经上线

经过近一个月的等待&#xff0c;Google 已正式为 Nexus 6 推送 Android 7.1.1 更新&#xff0c;本次更新版本号为 N6F26Q&#xff0c;可以点击这里下载完整系统镜像或者下载 OTA 升级包。 相比其他 Nexus 和 Pixel 设备&#xff0c;Nexus 6 已经发布了超过两年之久&#xff0c;…

关于jedis2.4以上版本的连接池配置,及工具类

jedis.propertise 注意以前版本的maxAcitve和maxWait有所改变&#xff0c;JVM根据系统环境变量ServerType中的值 取不同的配置&#xff0c;实现多环境&#xff08;测试环境、生产环境&#xff09;集成。 redis.pool.maxTotalredis.pool.maxActive.${ServerType} redis.pool.max…

关于response格式转换

调用图灵机器人api实例&#xff1a; class RobotHandler(WebSocketHandler):def open(self):# print("WebSocket opened",self.request.remote_ip)robot_set.add(self)# 获取websocket的发过来的信息def on_message(self, message):urlhttp://openapi.tuling123.com/…

微软老兵 Antoine LeBlond 将正式离职

Antoine LeBlond (安东勒布朗)是微软众高管之一,他在微软工作将近25年之久,然而他将在下周一,也就是他在微软的第9000天正式离职. 在发给微软众同事的邮件中,勒布朗表示他希望"探索微软之外的世界". 勒布朗在微软Office部门度过了他在微软的前20年时光,并与前微软高管…

转载——java synchronized详解

文章来源&#xff1a;http://www.cnblogs.com/GnagWang/archive/2011/02/27/1966606.html转载于:https://www.cnblogs.com/insist8089/p/6515885.html

Django中的F对象和Q对象

F对象 可以获取到自己的属性值实现自己的属性自己的属性关联的复杂条件支持运算 Q对象 Q对象实际上是对条件的一个封装封装后支持逻辑运算与或非 &|~ 支持嵌套 例子 from django.db.models import Max, Avg, F, Q from django.http import HttpResponse from django.s…

总链接

字符集修改、Linux时间同步、调整文件描述符http://11815879.blog.51cto.com/11805879/1915276正则表达式&#xff1a;http://11815879.blog.51cto.com/11805879/1919777 文件系统inode与blockhttp://11815879.blog.51cto.com/11805879/1917068 文件类型与软硬链接&#xff1a;…

Django模型关系

模型关系 1:1 一对一 &#xff08;一个身份证对应一个驾照&#xff09; 是使用外键唯一约束实现的对应最多只能有一个我们通常会在从表中声明关系 主表&#xff0c;从表 主表数据删除&#xff0c;从表数据级联删除从表数据删除&#xff0c;主表不受影响谁声明关系&#xff0c…

Android常用开源项目

Android常用开源项目 Android 2014-05-23 16:39:43 发布您的评价: 4.3 收藏 24收藏Android开源项目第一篇——个性化控件(View)篇包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、其他Android开源项目第二篇——工具库…

Django中数据知识点归纳

Django对象的增删改查 我们为了对django对象的增删改查进行总结&#xff0c;先在model.py文件中创建类便于举例 定义学生&#xff1a; class Students(models.Model):snamemodels.CharField(max_length20)sgendermodels.BooleanField(defaultTrue)sagemodels.IntegerField()…

面 试 细 节 一 点 通

面谈的礼节是社会新人及求职者踏人社会工作前最重要且最需学习的课题&#xff0c;因为这关系到是否能顺利踏入社会且寻找到一份合适满意的工作。 一个社会新人除了应注意的面试礼节外&#xff0c;在开始进行面谈之前及面谈结束之后&#xff0c;还有不少必须注意的礼仪。 面谈时…

宽带与流量的关系

流量&#xff0c;一般指的是每秒钟流经某设备的数据的多少。也就是Byte/Second( 字节每秒)。 比方说1M&#xff0c;这个概念的单位叫bPS(bit Per Second)比特每秒。而事实上经常用另外一个词来代替描述&#xff0c;也就是带宽。 而带宽和流量的换算关系是&#xff1a; 1 By…

PHP函数处理方法总结

call_user_func_array (PHP 4 > 4.0.4, PHP 5, PHP 7) call_user_func_array — 调用回调函数&#xff0c;并把一个数组参数作为回调函数的参数 说明 mixed call_user_func_array ( callable $callback , array $param_arr ) 把第一个参数作为回调函数&#xff08;callback&…

Django删除多对多表关系 :

删除多对多表关系 &#xff1a; # 删除子表与母表关联关系,让小虎不喜欢任何颜色 # 写法1: child_obj Child.objects.get(name"apollo") colors_obj Colors.objects.all() child_obj.favor child_obj.save() # 写法2: child_obj Child.objects.get(name"apo…

git push/pull时总需要输入用户名密码的解决方案

在提交项目代码或者拉代码的时候&#xff0c;git会让你输入用户名密码&#xff0c;解决方案&#xff1a;&#xff08;我们公司用的是gitlab&#xff09;执行git config --global credential.helper store命令然后git push origin your-branch会让你输入用户名和密码&#xff0c…

Django源代码写DetailView与ListView

基于类的通用视图 - 展平索引 通用显示视图 以下两个通用的基于类的视图旨在显示数据。在许多项目中&#xff0c;它们通常是最常用的视图。 一、DetailView django.views.generic.detail.DetailView 在执行此视图时&#xff0c;self.object将包含视图正在操作的对象。 此视图…