【问题标题】:How do I install gcc 6.x on Oracle Solaris 11.2 x86 and CentOS 6.6 Final?如何在 Oracle Solaris 11.2 x86 和 CentOS 6.6 Final 上安装 gcc 6.x?
【发布时间】:2017-12-01 05:17:54
【问题描述】:

我尝试安装...但失败了

  1. $ wget https://ftp.gnu.org/gnu/gcc/gcc-6.2.0/gcc-6.2.0.tar.bz2
  2. $ tar -jxvf gcc-6.2.0.tar.bz2
  3. $ cd /home/logvadmin/gcc-6.2.0/
  4. $ ./contrib/download_prerequisites
  5. $ ./configure --prefix=/usr/gcc-6.2.0 --enable-languages=c,c++ --disable-multilib
  6. $ make

第 6 阶段错误

[索拉里斯] make:阅读器中的致命错误:Makefile,第 27 行:看到意外的行尾

$ vi Makefile

26: ifeq (,$(.VARIABLES)) # 3.80 新增的变量 .VARIABLES 永远不会为空。 27:$(错误 需要 GNU make 版本 3.80 或更新版本。) 28: 结束

user@solaris:~/gcc-6.2.0$ gcc --version 海合会 (GCC) 4.5.2 版权所有 (C) 2010 Free Software Foundation, Inc. 这是免费软件;查看复制条件的来源。没有 保修单;甚至不是为了适销性或特定用途的适用性。

[CentOS] 建造时间太长了。 6小时??

我不知道是什么问题..

【问题讨论】:

  • 在 Solaris 上,使用gmake,而不是make。并行构建 - make -j<numcores> 以提高编译速度。
  • 大多数标准 Solaris 实用程序都与 POSIX 兼容,并且不支持非标准参数或行为。显然 GCC 的 configure 依赖于标准 make 实用程序的 GNU 扩展,因此如上所述,在这种情况下您必须使用 gmake
  • 这个问题有点大。您可能应该将其分解为单独的问题。至于 GCC 5... 在 Solaris 上安装 GCC 5 有点痛苦。我没能做到。您可以在Where is GCC-5 after installing it on Solaris 11?Unix & Linux Stack Exchange 上找到类似的问答。
  • 回复 谢谢。帮了大忙。
  • 您应该针对特定问题提出特定问题。由于 Stack Overflow 向您隐藏了关闭原因:“请编辑问题以将其限制为具有足够详细信息的特定问题,以识别适当的答案。避免一次提出多个不同的问题。请参阅如何提问页面以获取帮助澄清这个问题。”

标签: linux unix gcc centos solaris


【解决方案1】:

正如 cmets 指出的,使用 gmake。

详情请见https://gcc.gnu.org/install/index.html

我经常在 Solaris 11.3 amd64、Fedora 24 x64 和 FreeBSD 11 x64 上从 SVN 头构建 GCC。

首先,我构建并安装了 libgmp、lbmpc 和 libmpfr 到 ~/tools/lib。如果您使用的是最新的 Linux 或 FreeBSB,则可能不需要这样做。在 Solaris 上,第三方免费软件通常多年没有数据。

我的 Solaris 配置脚本是:

#!/bin/ksh93

export LD_RUN_PATH=/export/home/paulf/tools/lib/lib
 ../configure --prefix=/export/home/paulf/tools/gcc --with-gmp=/export/home/paulf/tools/lib --with-gnu-as --with-as=/usr/ccs/bin/gas --without-gnu-ld --with-ld=/usr/ccs/bin/ld 

我的更新和构建脚本是:

#!/bin/ksh

export LD_RUN_PATH=~/tools/lib/lib

cd ~/scratch/gcc
svn up
cd build
gmake -j 4

if (( $? == 0 )) ; then
    print gmake succeeded
   gmake install
fi

请注意,如果您不设置运行路径,那么默认的 GCC 构建将不会设置它,并且您将拥有一个需要 LD_LIBRARY_PATH 的基本损坏的编译器

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-09
    • 2015-04-13
    • 1970-01-01
    • 2013-05-29
    • 2014-04-04
    • 2021-10-08
    • 2015-08-01
    • 1970-01-01
    相关资源
    最近更新 更多