我需要安装一个依赖于 libg2c0 库的程序( GSAS 和 EXPGUI )。该库位于 Ubuntu Jaunty (9.04) 之前的存储库中,然后被删除。
解决方法是下载Jaunty 包,然后sudo dpkg --force-depends -i libg2c0_3.4.6-8ubuntu2_amd64.deb
。如果发现这个解决方案不符合 Ubuntu 的精神(有没有这样的词,比如 Pythonic 之于 Python?)
一般来说,从较新版本中删除给定包的原因是什么?
有没有更好的方法来管理不再受支持的包的依赖关系?
由于不同的原因,软件包在较新版本中从存储库中删除。
包名称通常会引用其版本。在这种情况下,可能存在更新的版本。在这种情况下,您的包的依赖项可能需要更新。然而,这与其说是单纯的丢包不如说是一种替代。
当不再有活跃的开发时,包通常会被丢弃,并且它们的状态不是有价值的。保留带有未修复的严重错误的软件包是没有意义的。
另一个原因可能是不再有维护者在包上工作。甚至在 Debian 中也可能出现这种情况,因为很多 Ubuntu 的软件包都是从 Debian 同步的。这是一个有趣的问题。如果当前的维护者没有时间或热情,则该包将被放入孤立包列表中。这使社区可以查看其他人是否会站出来。如果没有,它会在一段时间后被丢弃,因为假设没有人对这个包感兴趣了。
在您的特定情况下,GNU Fortran 77 被 GNU Fortran 95 编译器取代。因此,运行时库也已被删除。我不确定这是否对你有帮助,但你的包应该在新的 Fortran 编译器上运行(如果它是开源的,这应该是可能的)。然后它将使用可用的新库。