【问题标题】:Can I have two versions of GCC on Debian/Linux?我可以在 Debian/Linux 上拥有两个版本的 GCC 吗?
【发布时间】:2017-05-23 23:36:52
【问题描述】:

在 Debian Jessie/8 中有 GCC 4.9.2。
我需要最新版本,GCC 6.x。

是否可以通过 Synaptic 从测试存储库(即二进制文件,而不是源代码)安装它,与旧版本并行?

库/头文件/...之间是否存在冲突风险?它们是否会存储在单独的目录中,例如 gcc-4.9/gcc-6.0/...?

到目前为止,我只能在自己的目录中安装从源代码构建它的第二个编译器。

【问题讨论】:

    标签: linux gcc installation debian version


    【解决方案1】:

    是的,当然。

    如果两个包冲突(例如因为它们包含相同的文件),那么包管理器(aptaptitudesynaptics、...)将拒绝同时安装这两个包。

    因此,只要包管理器允许,您就可以并行安装任何包。 例如。在我的系统上,我同时安装了gcc-5gcc-6

    从技术上讲,Conflict 由包的维护者明确表示。 显然,他们无法跟踪世界上所有可能的包,而是真正专注于目标版本(例如来自jessie 的包与来自jessie 的其他包正确冲突,但不一定与来自@ 的包冲突987654329@(又名 Debian GNU/Linux 3.0))。 由于连续版本之间的升级(例如jessie -> stretch)被认为是至关重要的,因此您在安装testing(又名next-to-be-stable)时也可以依赖正确的Conflicts ) stable 系统上的软件包。

    OTOH,包装中当然可能存在错误,其中Conflicts 没有正确表达(如果你找到了,请毫不犹豫地报告它)。 如果发生这种情况,安装将失败,您可以恢复更改。

    因此,尝试安装 Debian 中可用的任何软件包都是非常安全的。

    (但是,我不会太信任第三方存储库)

    【讨论】:

    • 使用包管理器,我可以指定我希望将包安装在哪个目录中,以免与默认版本冲突吗?
    • 不,你不能。包管理器保证系统的所有组件一起工作。如果用户开始注入随机的东西,它就无法保证。 (且与默认版本不冲突)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    • 2013-08-14
    • 1970-01-01
    • 2014-03-07
    • 1970-01-01
    相关资源
    最近更新 更多