本帖最后由 freebsder 于 2015-6-1 11:36 编辑
本来想回复在帖子里,可是不太方便搜索、查找和归档,所以单独弄出来
https://bbs.eeworld.com.cn/forum. ... 5043&fromuid=551466
*nix里面依赖确实是个很扯淡的东西,windows下面也同样,只是叫做dll hell,大量发行版除了美化UI,定制软件之外,就做了一件事:依赖管理。所以不管你做的多美观,只要依赖管理不是自己的,一般都叫做xx系,比较常见的有debian系,redhat系,arch系,gentoo系等。
至于嵌入式里面,我个人经验有三种方法来折腾。
最简单的,是用debian带的debootstrap工具,直接把你开发板上的系统做成debian的(当然说的是arm,其他体系有没有这个我也没摸过),kernel和用户层有一些关系,但是没太大关系,不出问题就没需要多折腾版本配置,kernel可以根据自己定制。这样,全套debian的工具都可以很方便的在你的系统上欢快的运行,比如apt-get,dpkg。 debootstrap 可以搜搜网上的文章,我就不搬运了。
依赖由apt-get考虑,用户最省事。
第二种,是找有发行版给出的image,自己解出来,比如uboot,对,就是大名鼎鼎的uboot,这个组织给的一个
http://www.denx.de/wiki/view/ELDK-5/WebHome#Section_1.6.
架构很多啊
有二进制的和source,图省事,就把二进制的tar出来,如果运行期说缺哪个库,就用ldd看看在找。好处是省事,有依赖缺失,但是不会有依赖不匹配,缺失的都在镜像里翻就是了。
依赖由用户和发行版考虑,用户要参与。
第三种也是最麻烦的,就是自己做依赖,最原始的工序,这种手工活就是大量configure, make, make install,在configure中看什么缺失了,依赖的内容,同时也会给你版本号,圈圈套圈圈,一个依赖一个,这没办法,你手工折腾。。。好处是你自己追新,不必等发行版更新。每一个代码都要去软件库里找。不过现在很好的是如上面第二种,可以下载source,这也很省事了,反正都在一个image里,有缺失也不必像过去要wget下来,缺什么就configure什么。
或者在debian等软件库里查询,也会告诉你依赖关系(不过这样查更麻烦)
依赖完全是你自己考虑。
三种方案,根据需要来吧。