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

编译Tengine时,执行make命令,出现以下错误:

error while loading shared libraries:libtinfo.so.5: cannot open shared object file: No such file or directory

作为一个新手,通过在网上查找资料,一步步分析如下:

想必遇到这种问题不知如何解决的,大多也都是新手吧,把详细分析写下来,是希望大家以后遇到此类问题时就可以独立分析了。

出现这种问题,要么是操作系统里没有包含该共享库(lib*.so.*文件)或者共享库版本不对,下载安装进行调试即可,要么就是确实已经安装了该共享库,但是在调用该共享库的时候,按照程序默认路径检索并不能找到该共享库文件,那么就要注意设置共享路径了。

第一种情况,没有安装。

解决方法:

libtinfo.so.5这个是由ncurses提供的,但是一般ncurses都是默认安装的,所以你再试一下从源代码编译安装ncurses。

Ubuntu或Debian:

apt-cache search ncurses

apt-get install libncurses5-dev

待安装completed!

再./configure

然后make

make install

安装顺利完成!

但是…

刚才说到,一般ncurses都是默认安装,大部分时候,

大家遇到的应该都是第二种情况:

需要设置共享路径即可解决:

执行ln -s /lib/libncurses.so.5/usr/lib/libtinfo.so.5

如果你仍在往下看,说明刚才建立的软连接很可能没有解决您的问题,

尝试重新./configure …… 然后再make

如果仍未解决,思路如下,可以自己尝试一下解决(类似问题都可以如下解决):

1. 首先 find / -name libncurses.so.5找到缺少的文件实际位置

2. LD_DEBUG=libs /usr/local/bin/nginx –v查看Debug信息

3.分析Debug信息。从Debug信息中就知道程序去哪里找链接库了。如程序去 trying file=/usr/lib/libxxxx 而链接库的实际存储位置是 /lib/libncurses.so.5

4. 根据实际情况,做一个软连接 ln -s/lib/libncurses.so.5 /usr/lib/libtinfo.so.5

※注:

ln -s 这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln -s 源文件目标文件。

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

※注:

Linux共享库路径详解:

Linux下找不到共享库文件的典型现象为明明已经安装某个软包(如libnet,mysql),编译连接可以正常进行,但是在运行时出现如“error while loading shared libraries: libnet.so.1:cannot open sharedobject file :No such file or directory”的错误提示。

原因是Linux下的共享库路径配置不正确。默认的linux共享库搜索路径为/lib和/usr/lib两个目录(不包含子目录),若共享库不在这两个路径,不能自动连接到(最典型的就是/usr/local/lib),解决方法有四种(关于共享路径,详细介绍见 http://www.linuxidc.com/Linux/2012-12/76633.htm):

1,连接时使用静态库(.a文件)。在g++命令上写入改.a文件的完整路径。

2,修改LD_LIBRARY_PATH环境变量。(临时有效,且有时候没有效果)

3,将库文件复制到可以搜索到的路径里面,这样比较狠,但是可能导致一些后即问题。

4,添加搜索路径,使用ldconfig命令。

解决error while loading shared libraries: xxx.so.x类似问题办法和错误原因相关推荐

  1. cgo 解决 error while loading shared libraries: xxx.so.x

    来自:Dale工作学习笔记 原文:error while loading shared libraries: xxx.so.x" 错误的原因和解决办法 今天在执行一个protobuf程序时, ...

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

    原博客地址:http://www.cnblogs.com/Anker/p/3209876.html#undefined error while loading shared libraries: xx ...

  3. GCC 链接 xxx:No such file or directory 及运行可执行文件 error while loading shared libraries: xxx.so 解决方案

    关于 GCC 提示找不到指定库文件的这个问题,通常出现在以下 2 个场景中: 利用静态库或者动态库文件实现链接操作(生成可执行文件)时,·GCC 可能会提示 xxx:No such file or d ...

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

    一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: lcw: error while loading shared libraries: libjson.so.0: c ...

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

    一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: tmux: error while loading shared libraries: libevent-1.4.s ...

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

    一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: tmux: error while loading shared libraries: libevent-1.4.s ...

  7. linux下设定动态库路径的命令-error while loading shared libraries: xxx.so.x错误的原因和解决办法

    网站:http://blog.chinaunix.net/uid-26212859-id-3256667.html 一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: ...

  8. salmon的报错解决error while loading shared libraries: libboost_iostreams.so.1.60.0

    使用conda安装的软件salmon时报错为 error while loading shared libraries: libboost_iostreams.so.1.60.0 报错原因: cond ...

  9. error while loading shared libraries: xxx.so.x错误

    2019独角兽企业重金招聘Python工程师标准>>> 一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: tmux: error while loa ...

最新文章

  1. 不用加减乘除符号计算两数之和
  2. R语言实战应用精讲50篇(三十一)-R语言入门系列-tidyverse数据分析流程
  3. 学习三分 (概念 + 模板 + 例题:曲线)
  4. 3090显卡 torch.cuda.is_available()返回false的解决办法
  5. (转)基于Metronic的Bootstrap开发框架经验总结(4)--Bootstrap图标的提取和利用...
  6. java.sql.SQLException: Protocol violation 问题解析
  7. 太赞了!终于有人把怎么在IDEA中使用Java热部署插件JRebel讲清楚了...
  8. 金万维异速联服务器重装,金万维异速联客户端常见错误提示及解决办法
  9. 值得铭记的爱情语录:海鸟跟鱼相爱,永远只是一场意外
  10. java web 教学视频_超全面的JavaWeb视频教程
  11. 读书感受 之 《反脆弱 · 做一个内心强大的人》
  12. 计算机备份u盘,如何把电脑系统备份到u盘_怎么备份系统到u盘-win7之家
  13. matlab 太阳系仿真,三维仿真太阳系
  14. 如何定制zencart模板
  15. Mathtype 花体字 Euclid math one/two 不能显示的问题
  16. mysql链路追踪工具_Molten
  17. 氮化镓 服务器电源管理系统报价,基于LMG341x GaN FET的服务器电源单元(PSU)电路设计...
  18. 电脑外设(I/O)简介:显示器
  19. 门面设计模式(Facade Pattern)
  20. 【电口模块专题】你不知道的电口模块冷知识

热门文章

  1. 【题解】P3387 【模板】缩点
  2. Bose SoundLink Revolve或者Bose SoundLink Revolve+ AUX音频播放一会没有声音
  3. 一个帅哥到一个老头的历程
  4. c语言gl函数,R语言:gl()函数
  5. 【量化投资】策略二(聚宽)
  6. 华为手机坏了数据怎么导出_苹果手机的语音备忘录怎么导出来?
  7. 酷炫小程序相册源码,制作属于自己的相册,免费下载
  8. php远程下载到本地,PHP 下载远程文件到本地的简单示例
  9. 公众平台模板消息所在行业_微信公众号模板消息群发第三方平台可以免费试用吗?...
  10. 改纸盒大小_【印刷技术】今天才知道,原来要这样制作小规格纸箱