【问题标题】:How to install a newer version of gcc separately如何单独安装较新版本的 gcc
【发布时间】:2012-05-13 06:35:10
【问题描述】:

我正在使用安装了 gcc 4.1.2 的 CentOS 5.6。我想另外安装 gcc 4.4.6。所以,基本上我想将它安装为第二个 gcc,而不是升级前一个(也就是说,我想保留它)。最简单的方法是什么?

【问题讨论】:

  • stackoverflow.com/a/7834049/643500 它适用于 Ubuntu,但它应该适合你
  • 这与您的其他问题是否相同,您没有 root 访问权限?
  • 不,我确实有这个权限。请问configure、make、make install 能做什么?在配置中,我将不得不指定一个单独的目录,例如 --prefix=directory.
  • 是的,root 唯一严重的问题是大多数发行版的用于从发行版安装预构建程序的软件包系统仅适用于 root,并且坚持将软件包文件放在固定的系统范围内的位置.但是你可以为自己从源代码构建一些东西,并在你的主目录下设置一个安装位置。与 linux 发行版分开分发的二进制文件通常也更灵活。
  • 在我看来,真正棘手的部分是让新的 GCC 使用当前安装的 libgcc 和 libstdc++ 库。如果不这样做,您将始终被限制为只能在一台机器上运行已编译的程序。

标签: c linux gcc


【解决方案1】:

只需将 gcc 和各种库安装在单独的目录中即可。创建一个脚本来更新各种环境变量(您将需要获取它)以根据需要设置 shell 以使用适当的版本。

【讨论】:

  • 是的,但最大的挑战可能是弄清楚要安装什么——一个兼容但通用的二进制压缩包?从通用或分发源构建它?安装一个分发包,以某种方式说服它进入另一个位置? (仅供参考,海报有一个相关问题,似乎表明他们在盒子上没有 root - 如果在这里明确提到会很好)
  • @ChrisStratton - 以上任何方法都可以。在这种情况下,也许 tarball 是最简单的。
【解决方案2】:

您通常需要 gcc 包本身,最好是 glibc 的专用版本,然后是 binutils(可能还有更多),您需要将它们全部安装到一个公共前缀。

您可能还想研究诸如 buildroot 之类的项目(对于预制的解决方案),或“Linux From Scratch”,它解释了构建您的正常工具链的过程)。

【讨论】:

    【解决方案3】:

    yum install gcc44 为我做的!

    【讨论】:

      【解决方案4】:

      按照这些步骤进行操作,我已经对其进行了测试,并且对我来说可以正常工作 (Install alternative version of gcc)

      【讨论】:

        猜你喜欢
        • 2014-06-27
        • 1970-01-01
        • 2017-11-27
        • 1970-01-01
        • 2020-07-03
        • 1970-01-01
        • 2021-05-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多