安装了 apt-get boost 假包
我最近需要将 Debian squeeze 从 boost 1.42 更新到 1.48。这涉及删除当前的 boost 1.42 软件包并从 subversion 安装 1.48 软件包。
不幸的是,这破坏了一些 Debian 依赖关系 - 有没有办法在包管理器数据库中添加一个条目来表明已安装 boost 1.48,这样系统就不会尝试安装 boost 1.42 库,或者这是否非常反 Debian?
I recently needed to update debian squeeze from boost 1.42 to 1.48. This involved removing the current boost 1.42 packages and installing from subversion the 1.48 packages.
Unfortunately this breaks some Debian dependencies - Is there a way to put an entry into the package manager database to say that boost 1.48 is installed so the system will not try and install the boost 1.42 libraries or is this just very anti-Debian?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有一些软件包可以帮助解决此问题,例如,请参阅 equivs 软件包。
但如果你有链接依赖,我不确定你能绕过这个问题。某些取决于特定版本的应用程序将会崩溃。
您通常可以并排安装多个打包 Boost 版本,请参阅下面的序列化库的 1.40 和 1.42 版本,以及表明当前开发将使用 1.42 的软件包:
当我需要更新的版本时,我有时从较新的 Debian 版本“借用”软件包并在本地构建它们。
当然还有
/usr/local/lib
,您始终可以在包管理系统跟上之前安装本地副本。There are some packages that help with this, see for example the equivs package.
But if you have linked-to dependency, I am not sure you can trick your way around this. Some apps depending on the particular version will just break.
You can usually install several packaged Boost versions side by side, see below for 1.40 and 1.42 versions of the serialization library, plus the packages indicating that current development will use 1.42:
When I need newer ones, I sometimes 'borrow' the package from a newer Debian release and build them locally.
And the there is of course
/usr/local/lib
where you could always install a local copy before the package management system catches up.