fedora8 使用小记之七:软件依赖性与Windows的dll

本文探讨了Fedora系统中的软件依赖性问题,特别是在安装CHMSee和MonoDevelop时遇到的具体挑战。文章还讨论了Linux下的依赖性问题与Windows系统的DLL地狱问题之间的相似之处,并提出了一些潜在解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接触fedora8以来,当然安装了一部分常用软件,对于普通人来说,用电脑就是用软件,当然操作系统也是一种软件。我还不太会./config makenake install之类的东西,对起参数没有认识全面,经常失败。所以我一般采用和大所数用户同样的yum安装或者rpm安装的方式。Rpm是在背后为你解决了软件包、基本库的依赖问题。但是在我看来,这目前存在着问题。

在安装chmsee的时候,碰到了libgtkembedmoz.so问题,上网搜索,大家提出了很多中方法,我没有一一实验,目前还没有搞定。我在安装monodevelop的过程中,也因为软件包的依赖而没有成功。安装不成功本身不是问题,但是在安装过程中遇到的这些问题却让我有了一点想法。

chmsee依赖性是因为它使用了firefox的一个库文件,firefox升级后,文件位置发生了变化,chmsee不能找到了。其他软件出现依赖性问题大多是库的版本问题。但是,现在,如果不同版本的软件,需要对同一个库的不同版本发生调用的情况下,如果更新了一个,那么另外一个会不会出现问题呢??

windows下面,有这臭名昭著的”dll hell”问题,dll相当于linux下面的各种库。不同软件对不同公共dll的调用、升级等引发了版本冲突,软件之间通过dll发生了耦合,使得更新软件A 是,连带产生了更新Dll 1,从而影响了软件B

Linux(我的是fedora8)的软件依赖性问题是不是和这个类似呢?

由于dll hell的存在,也是微软全力推出net大旗的一个不可忽视的原因。微软推出.Net时,在这方面的宣传也是很大力的。

Linux下的mono项目,在mono基础上的monodevelop都是为了.NET(.NetC#已经不是微软独有,已经成了标准)而产生的,这样在mono下开发出的软件当然也能解决软件包依赖性问题。但是,monodevelopmono之间的这种不同版本的依赖问题,又怎么来解决呢?

也许通过自己编译的方式可以指定库文件的位置,我们自己可以手动区分这些不同的库。但是这样是不是太麻烦了,对个人普通用户来说也是有一定困难的,Linux占领个人用户市场也会因此而产生不必要的阻力吧。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值