0

我最近需要将 debian squeeze 从 boost 1.42 更新到 1.48。这涉及删除当前的 boost 1.42 包并从 subversion 安装 1.48 包。

不幸的是,这破坏了一些 Debian 依赖关系 - 有没有办法在包管理器数据库中输入一个条目来说明已安装 boost 1.48,这样系统就不会尝试安装 boost 1.42 库,或者这只是非常反 Debian?

4

1 回答 1

1

有一些包可以帮助解决这个问题,例如equivs包。

但是,如果您有链接到依赖项,我不确定您是否可以解决这个问题。某些依赖于特定版本的应用程序会崩溃。

您通常可以并排安装几个打包的 Boost 版本,请参阅下面的 1.40 和 1.42 版本的序列化库,以及表明当前开发将使用 1.42 的包:

edd@max:~$ dpkg -l | grep libboost-serialization | cut -c-70
ii  libboost-serialization-dev            1.42.0.1ubuntu1             
ii  libboost-serialization1.40.0          1.40.0-6ubuntu1             
ii  libboost-serialization1.42-dev        1.42.0-4ubuntu2             
ii  libboost-serialization1.42.0          1.42.0-4ubuntu2             
edd@max:~$ 

当我需要更新的软件包时,我有时会从较新的 Debian 版本中“借用”软件包并在本地构建它们。

当然/usr/local/lib,在包管理系统赶上之前,您总是可以安装本地副本。

于 2011-09-13T21:18:28.237 回答