【问题标题】:Installing GCC on Oracle Solaris 11在 Oracle Solaris 11 上安装 GCC
【发布时间】:2019-09-20 10:18:55
【问题描述】:

我最近在我的 VM 上安装了 Oracle Solaris 来测试一些代码,我无法安装 gcc,因为我真的不知道如何安装,我搜索了很多但所有信息都是关于 oracle 编译器的,我需要 GCC,知道哪里可以我得到 GCC 或如何安装它?

谢谢

【问题讨论】:

    标签: oracle gcc solaris


    【解决方案1】:

    原始答案适用于 Solaris 11 Express/非官方版本 - 如果您今天使用 Solaris 11.x 的完整版本执行此操作,请使用 pkg install 命令,就像您在 xavier's 中看到的一样回复。

    从终端运行此命令以安装 GCC。

    对于 GCC 3.4.x

    pkg install gcc-3
    

    对于 GCC 4.5.x

    pkg install gcc-45
    

    对于 GCC 4.7.x

    pkg install gcc-47
    

    对于 GCC 4.8.x

    pkg install gcc-48
    

    gcc 命令应该已经放在你的路径/usr/bin/gcc 中,这是一个符号链接。


    旧答案 Solaris 11 应该已经在 /usr/sfw/bin/ 中安装了 gcc,但它可能不在您的 PATH 中。在提示符下试试这个:/usr/sfw/bin/gcc

    【讨论】:

    • 不,它不存在,我检查了,又检查了一遍,我还运行了一个查找命令
    • sudo pkg install gcc-3 然后安装软件包。 pkg search gcc 可以为你找到那个包名。
    • ty,它成功了 :),但只有 1 个问题,它是 2005 年的 3.4 版,没有更新的版本吗?
    • @killercode - 抱歉我没有早点回复 - 不,官方包只是 GCC 3.4.x。当我在 Solaris 上进行软件移植时,一个客户要求 GCC 4.4,这意味着我必须使用提供的 GCC 3.4 构建自己的 GCC 4.4。
    • 这个答案不正确(但如果它当时是为 Solaris 11 的 pre-release 编写的,可能是正确的,不知道?)。无论如何:Solaris 11 上的gcc 不在/usr/sfw/bin 中。您对 Solaris 10 感到困惑。
    【解决方案2】:

    两步:

    1. pkg 安装 gcc-45
    2. pkg 安装系统/头文件

    就是这样

    如果您看到更多信息 http://blog.csdn.net/zjg555543/article/details/8217769

    【讨论】:

    • pkg install gcc-45 也安装了system/header 所以不需要第二个命令。
    • 第一个命令在 OpenIndiana 上没有得到system/header,所以我非常感谢您提供第二个命令。
    【解决方案3】:

    只需从其主页下载 gcc,按照镜像链接之一获取最新的二进制包(.tar.gz 或 tar.bz2 格式),并使用传统步骤构建:

    1. ./configure -- // 给出你的选择
    2. 制作
    3. 进行安装

    好消息是您可以自定义您需要的内容并始终保持最新状态,而坏消息是您可能无法使用 mdb/adb 进行调试 - 我们在使用最新的 GCC 4.6.x 时面临此类问题

    【讨论】:

    • @AlexisWilke 我们的 solaris 盒子在 /usr/sfw/bin 中附带了一个默认的 GCC,它至少可以用来构建一些东西。
    • 有趣。我从 CD 将 Solaris 安装在一个虚拟盒子中,但 /usr/sfw 目录不存在。 birryree 在他的回答中也提到了那个目录......但我看不到它,仍然看不到它!
    • alexis - 自 90 年代中期以来,gcc 无需编译器即可构建。它很慢,而且很复杂。任何好的编译器都可以从较低级别的工具(bison、yacc、ar 等)中得到提升
    【解决方案4】:

    Solaris 10 及之前的版本:

    /usr/sfw/bin/gcc 有效。

    Solaris 11:

    pkg 安装 gcc-3

    【讨论】:

      【解决方案5】:

      我的 Solaris 2.11 无法访问互联网 :/

      什么对我有用:

      (1) 我使用this link 作为指导方针
      (2)从我的windows机器上,在他们的mirror sites之一下载gcc,我用here,通常越近越好
      (3) 使用WinSCP上传gcc-9.2.0.tar.gz到目标/tmp目录
      (4) tar -xvf gcc-9.2.0.tar.gz
      (5) cd gcc-9.2.0
      (6) mkdir /usr/local/gcc
      (7) cd /usr/local/gcc
      (8) /tmp/gcc-9.2.0/configure -v --program-suffix=9.2

      此时,您可能会收到以下错误:
      构建 GCC 需要 GMP 4.2+、MPFR 2.4.0+ 和 MPC 0.8.0+。

      (9)手动下载所需文件here.
      注意:要了解需要哪些文件,请查看 contrib/download_prerequisites
      (10)将(9)中的文件复制到/tmp/gcc-9.2.0
      (11)解压,然后创建快捷方式:ln -s gmp-6.1.0 gmp, ln -s mpc-1.0.3 mpc, ln -s mpfr-3.1.4 mpfr, ln -s isl-0.18 isl
      (12)/tmp/gcc-9.2.0/configure -v --program-suffix=9.2 --enable-languages=c,c++ -v
      (13) nohup gmake & (此时它需要一些时间......我的花了大约 6 个小时。如果可以的话,使用 -j 选项,以更快地 gmake )
      (14) gmake 安装
      (15) /usr/local/bin# ./gcc9.2 --version
      gcc9.2 (GCC) 9.2.0 版权所有 (C) 2019 Free Software Foundation, Inc.

      瞧! :-)

      【讨论】:

        【解决方案6】:

        您可以从 OpenCSW 安装 gcc 4.3:

        pkg-get -i gcc4code gcc4g++
        

        我还必须在安装后手动运行 mkheaders。

        【讨论】:

        • gcc-4.6.2 现在可以从不稳定的目录中获得。
        【解决方案7】:

        我遇到了同样的问题,“pkg install gcc-3”对我有用。

        【讨论】:

          【解决方案8】:
          pkg install gcc 
          

          为我工作

          这将在您的机器上安装整个 gcc 集合。无论如何都是需要的

          【讨论】:

            【解决方案9】:

            我会引用unix.stackexchange.com的答案。

            在 Solaris 11 上,gcc 默认不安装。通常,您需要的不仅仅是编译器本身,因此我的回答将包括所有在 Solaris 上构建开源软件的常见嫌疑人,这些软件是您从某处以源代码格式下载的。

            到目前为止,最简单的方法是使用 IPS 使用以下命令安装它(以 root 或其他超级用户身份):

            pkg install pkg://solaris/developer/build/gnu-make \
                        pkg://solaris/developer/build/make \
                        pkg://solaris/developer/gcc \
                        pkg://solaris/system/header \
                        pkg://solaris/developer/build/autoconf \
                        pkg://solaris/developer/build/automake
            

            (我在这里使用完全限定的包名,这不是必需的)

            请注意,官方 repo 中提供了一些包的不同版本。如果您只是引用developer/gcc,那么您将在撰写本文时获得 GNU C v4.8.2,但您可能会明确要求提供以前的版本,例如使用包名,例如developer/gcc-45

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-12-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多