我怎样才能获得更新的GCC?我没有root,也无法编译它(内存错误)

时间:2016-05-28 16:30:51

标签: linux gcc build

我在运行旧版GCC的计算机上拥有共享帐户。我没有root。当我尝试编译GCC时,我的构建过程因以下命令中的内存使用而被终止:

build/genattrtab ../../../work/gcc-6.1.0/gcc/common.md ../../../work/gcc-6.1.0/gcc/config/i386/i386.md insn-conditions.md \
    -Atmp-attrtab.c -Dtmp-dfatab.c -Ltmp-latencytab.c

我真的希望能够在这台需要更新GCC的机器上编译一些软件。任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:1)

您可以手动解压其中一个GCC软件包以进行任何主要分发,尝试使用与您的分发版密切匹配的软件包。这些可安装的包只是带有一些元数据和安装脚本的tar文件。您可以解压缩它们并提取您需要的二进制文件。请记住,您可能需要的不仅仅是gcc包。一些发行版将他们的devtools分解成大量的小包(gcc,g ++,binutils,gdb)

另一个好的来源是使用嵌入式供应商使用的预构建gcc工具链,有时这些供应商包括主机版本的gcc以及交叉编译器。例如,Android NDK就是其中一种发行版。

最后,您可以在另一台不那么严格的计算机上编译GCC,并将生成的二进制文件复制到限制性计算机。如果是第一种解压缩可安装包的方法,请尝试尽可能地找到类似于限制性机器的机器。您可以使用vagrant和docker等工具来设置目标计算机的近似副本。 Vagrant和docker有很多预先构建的模板,您可以将它们用作创建所需机器的快速入门。