【问题标题】:Installing gcc on linux without c compiler在没有c编译器的linux上安装gcc
【发布时间】:2010-08-13 11:42:11
【问题描述】:

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

【问题讨论】:

  • 嗯?为什么需要编译器来安装东西?您需要的基本应用程序是cp,也可能是mount
  • Elazar:如果他使用不提供安装工具的 Linux 发行版,他可能需要编译 GCC。我不知道“linux基础防火墙”是什么意思。
  • 如果您没有安装编译器,我猜想还有许多其他系统包含和未安装的库,您需要进行编译。您可以在此处查找一些二进制文件以帮助开始。 gcc.gnu.org/install/binaries.html
  • 鉴于 OP 喜欢 IanH 的回答,这个问题对于超级用户来说是微不足道的。我倾向于把它留在这里。
  • 我想他已经root了他的“基于linux的”防火墙并且发现没有编译器。

标签: linux gcc


【解决方案1】:

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

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

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

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

但是如果你真的想这样做,你现在也可以使用你的交叉编译器来编译在你的目标上运行的 gcc(设置为--host= 选项)并为你的目标编译(设置为--target选项)。

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

【讨论】:

  • 我确实遇到了这个问题 - 一个带有 Linux(Debian 3.4)和 shell 访问权限的设备,但没有包管理器或编译器。我想安装 apt-get,但我真的不知道从哪里开始。有没有什么菜鸟(ish)友好的阅读材料可以指给我看?我的 Google-Fu 在这方面让我失望了。任何帮助将不胜感激!
【解决方案2】:

这取决于发行版,如果它基于 debian 或其他一些大型发行版,您可以通过 apt-get 或类似工具安装 gcc。

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

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

【讨论】:

  • 这个基于EFW(字节序防火墙)的linux系统
  • 我可能还会说,我会查看您在防火墙上安装 gcc 的原因,从一开始这听起来就是个坏主意。因此,只有当你有充分的理由时,才尝试走这条路。
【解决方案3】:

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

【讨论】:

    【解决方案4】:

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

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

    【讨论】:

      【解决方案5】:

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

      sudo apt-get install gcc
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-28
        • 1970-01-01
        • 2012-03-27
        相关资源
        最近更新 更多