ubuntu解决程序编译运行的依赖问题方法论

一般来说,问题有三类,一类是编译程序的时候找不到依赖的库,一类是别处拷贝来的程序没有办法在本地运行。缺少相关的动态库,还有一类是apt-get 安装程序的时候提示有依赖关系安装失败。


### 编译问题
编译问题很容易解决,缺什么找什么,如果是交叉编译,则需要下载相关源代码编译。如果是本地运行的,则可以考虑通过apt-get直接安装,需要注意的是编译相关的库都是以lib开头的,这样安装的就是相关的头文件和库文件,不是lib开头的一般都是可执行程序。




### 可执行程序缺少相关动态库
解决这种问题可以分三个步骤
- 1. 如果是64位系统,首先用file命令看看是不是32位程序,如果是,确定已经安装32位兼容库,16.04之前可以安装ia32-libs,16.04以后的系统提供来新的替代库lib32ncurses5、lib32z1。


- 2.通过ldd命令查看缺少的动态链接库


- 3.安装apt-file工具,然后用apt-file search xxxx查看具体的安装包,如果找不到,最好google查一下,这个so库有可能是一个软连接。找到安装包名字以后,就可以安装了,一般来说,apt-get的时候需要带上xxx-dev才能搜索到需要的安装包,如果是安装32位兼容库,则需要xxx-dev:i386


### apt-get因为依赖关系安装失败
这种问题一般都是因为更新缓存里边没有相关的依赖版本软件导致的


- 1. 检查一下自己有没有修改过系统设置软件和更新里边的更新选项,确保重要安全更新和推荐更新都是选上的。
- 2. apt-get update 一下,注意看下有没有因为网络或者其他原因导致更新缓存失败的。
- 3. update后再试一下,如果还不行一般就是源有问题,去google找找答案吧。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值