Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103677926
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-07 16:23:04

作者: fortemedia  出自:
  接触fedora8以来,当然安装了一部分常用软件,对于普通人来说,用电脑就是用软件,当然操作系统也是一种软件。我还不太会./config 、make、nake 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(.Net和C#已经不是微软独有,已经成了标准)而产生的,这样在mono下开发出的软件当然也能解决软件包依赖性问题。但是,monodevelop和mono之间的这种不同版本的依赖问题,又怎么来解决呢?

  也许通过自己编译的方式可以指定库文件的位置,我们自己可以手动区分这些不同的库。但是这样是不是太麻烦了,对个人普通用户来说也是有一定困难的,Linux占领个人用户市场也会因此而产生不必要的阻力吧。
阅读(327) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~