不使用c编译器在linux上安装gcc

时间:2010-08-13 11:42:12

标签: linux gcc

如何在没有任何c编译器的系统上安装gcc? 这个系统是linux基础防火墙,没有任何c编译器。

5 个答案:

答案 0 :(得分:14)

我猜你有一个运行Linux和shell访问的设备,但是既没有安装包管理器也没有安装编译器。

所以,你需要交叉编译gcc和整个工具链(至少是binutils) - 这很简单,因为gcc,binutils,gdb等的./configure脚本支持与{交叉编译{1}}选项。所以你要做的就是找出目标架构(--target=帮助)然后下载,在linux-host上解压缩gcc源代码并运行uname

有了这个,您现在可以构建一个交叉编译器gcc - 它仍然可以在您的主机上运行,​​但会为您的目标生成二进制文件(防火墙设备)。

这对您来说已经足够了,典型的台式PC比典型的设备要快得多,因此使用交叉编译器和跨binutils在桌面PC上编译所需的一切可能是有意义的。

但如果您真的希望这样做,您现在也可以使用交叉编译器编译在目标上运行的gcc(将其设置为./configure --target=$YOUR_TARGET选项)并为您的目标进行编译(将其设置为{ {1}}选项)。

您可以在gcc文档中找到有关允许的主机/目标和示例的详细信息:http://gcc.gnu.org/install/specific.html

答案 1 :(得分:1)

这取决于分布,如果它是基于debian或其他一些大的,你可以通过apt-get或类似的工具安装gcc。

如果它是一个更基本的系统,你需要在另一台计算机上自己编译gcc并将其复制。如果你有另一台具有相同架构的计算机(例如i386,arm或x86_64),这将是最简单的。

我认为您可能也想静态编译它,这样您就不会依赖外部库。

答案 2 :(得分:0)

如果是基于debian的发行版,您可以使用

sudo apt-get install gcc

注意:也许您必须通过特定版本的debian软件包更改“gcc”。

答案 3 :(得分:0)

您如何计划将GCC加载到您的计算机上所需的所有源代码?你能将ISO映像挂载到这台机器上并从那里安装吗?

答案 4 :(得分:0)

由于您使用的是Endian防火墙,请参阅以下链接中的“构建开发框”:

http://alumnus.caltech.edu/~igormt/endian/tips.html