Linux下经常需要安装不同类型的库,在Ubuntu中,这些类库都是以“lib_name-version”的形式命名的。很多库之间存在依赖关系,即要安装这个就必须安装那个。有时候,类库之间依赖关系无法满足,你所要安装的程序就不能安装。
这类问题大多是由于相互依赖的几个库中一个或多个的版本已经更新,而用户要安装的库依赖于这几个库的较低的版本,这时候可以试试使用“sudo aptitude install ”(尖括号内为你要安装的程序的名字)。
例如:
我在Ubuntu6.10下安装编译guifications的时候需要用到gtk2.0的开发包,在Ubuntu的源中命名为“libgtk2.0-dev”,使用“sudo apt-get install libgtk2.0-dev”的时候,提示:
下列的套件有無法滿足的依存關係:
libgtk2.0-dev: 依存關係: libpango1.0-dev (>= 1.12) 但是它卻不會被安裝。
依存關係: libcairo2-dev (>= 1.2.0) 但是它卻不會被安裝。
经查,这是由于源中libcairo2-dev这个包版本较新,而libgtk2.0-dev需要一个比较老的版本。所以,这里使用如下命令:
sudo aptitude install libgtk2.0-dev
将较新的库降级为满足依赖关系的库,按照提示逐步操作即可。
这类问题大多是由于相互依赖的几个库中一个或多个的版本已经更新,而用户要安装的库依赖于这几个库的较低的版本,这时候可以试试使用“sudo aptitude install ”(尖括号内为你要安装的程序的名字)。
例如:
我在Ubuntu6.10下安装编译guifications的时候需要用到gtk2.0的开发包,在Ubuntu的源中命名为“libgtk2.0-dev”,使用“sudo apt-get install libgtk2.0-dev”的时候,提示:
下列的套件有無法滿足的依存關係:
libgtk2.0-dev: 依存關係: libpango1.0-dev (>= 1.12) 但是它卻不會被安裝。
依存關係: libcairo2-dev (>= 1.2.0) 但是它卻不會被安裝。
经查,这是由于源中libcairo2-dev这个包版本较新,而libgtk2.0-dev需要一个比较老的版本。所以,这里使用如下命令:
sudo aptitude install libgtk2.0-dev
将较新的库降级为满足依赖关系的库,按照提示逐步操作即可。