【问题标题】:Compile git for 32-bit linux on shared hosting在共享主机上为 32 位 linux 编译 git
【发布时间】:2011-05-08 01:23:51
【问题描述】:

我需要在廉价的共享主机上设置 Git 客户端,并使用无名 32 位 Linux 发行版。 GCC 不可用,所以我无法在服务器上编译它。我确实有两台其他 64 位 Linux 服务器和一台 OSX 笔记本电脑可供我使用,我可以尝试在其上交叉编译二进制文件。但我似乎无法正确编译它;当我将二进制文件推送到 32 位服务器时,它说它无法运行可执行文件。从其他来源看来,我需要将“-arch i386”和/或“-m32”添加到 ./configure 或使命令适用于 32 位,但我想我没有正确使用它们。任何人都知道如何做到这一点,或者,在哪里可以找到通用的 32 位 Git 二进制文件?

谢谢

【问题讨论】:

  • 为什么要自己编译而不是下载一些二进制包?
  • 您应该检查主机提供商是否使用 noexec 选项安装了您的主目录。在这种情况下,您无法从那里运行任何二进制程序。
  • @Sven Marnach 但是我在哪里可以下载 Linux 64 位 git 二进制文件?
  • @Viktor:作为示例,任何主要的 Linux 发行版中都有一个。

标签: linux git compilation 32-bit


【解决方案1】:

最好的办法是尝试将 git 编译为静态二进制文件。您的二进制文件可能有不同的共享库版本(甚至没有安装所有依赖项)。

此链接:

How to build git for a host with no compiler

提供有关如何将 git 构建为静态二进制文件的信息。

stackoverflow answer 提供有关如何从 64 位主机交叉编译它的信息。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    老实说,如果是我,我会在 VM 中启动 32 位 Linux 并在那里编译。

    【讨论】:

      【解决方案3】:

      OS X 无法运行 - 它旨在生成带有 OS X 系统调用接口的 Mach-O 二进制文件,而不是 Linux ELF 二进制文件。

      在 CLFAGS 上使用 -m32 会有所帮助,但最重要的是,还要使用 -static。静态二进制文件更便携。

      如果失败,请详细说明失败的原因。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-28
        • 1970-01-01
        • 2013-08-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-14
        • 1970-01-01
        相关资源
        最近更新 更多