Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何使用静态链接构建git?_Linux_Git_Build_Installation - Fatal编程技术网

Linux 如何使用静态链接构建git?

Linux 如何使用静态链接构建git?,linux,git,build,installation,Linux,Git,Build,Installation,我以zip文件的形式从下载了git源代码 我将它解压缩到/home/Desktop/denis/git(使用Ubuntu) 现在教程说我应该跑步 ./configure --prefix=/home/denis/git-static CFLAGS="${CFLAGS} -static" 作为构建git的一个步骤,从上述文件夹中删除 但是git源代码的根文件夹中似乎没有我可以运行的配置文件(只有configure.ac,我怀疑这不是我想要的) 我错过了什么?如何手动构建git 我这样做是因为我试

我以zip文件的形式从下载了git源代码

我将它解压缩到/home/Desktop/denis/git(使用Ubuntu)

现在教程说我应该跑步

./configure --prefix=/home/denis/git-static CFLAGS="${CFLAGS} -static"
作为构建git的一个步骤,从上述文件夹中删除

但是git源代码的根文件夹中似乎没有我可以运行的配置文件(只有configure.ac,我怀疑这不是我想要的)

我错过了什么?如何手动构建git


我这样做是因为我试图让git在共享主机服务器上工作,但我无法安装git。

阅读解压文件根文件夹中的安装文件,其中似乎有一些有用的说明,我怀疑:

或者,您可以使用autoconf生成/配置脚本 设置安装路径(通过config.mak.autogen),以便您可以改为编写

或者简单地说:

    $ make prefix=/usr all doc info ;# as yourself
    # make prefix=/usr install install-doc install-html install-info ;# as root

其他答案对我来说并不适用。也许他们会为其他人。对我来说,成功的是:

  • 获取源代码
  • 创建目标目录
  • 输入源目录
  • 配置
  • 建造
  • 安装
  • 使用以下命令:

    git clone git@github.com:git/git.git
    mkdir git-static
    cd git
    ./configure prefix=/path/to/git-static/ CFLAGS="${CFLAGS} -static"
    make
    make install
    

    这将在
    git static
    目录中留下几个文件夹,但可执行文件是静态链接的。它也比平常大很多(可能大1.5MB)。

    先进行配置。这需要
    autoconf
    。我想这不会构建静态链接的git。只是在最新版本的Raspbian(针对OpenWRT设备)上做了,它警告我某些内容仍将动态加载。@ThorbjørnRavnAndersen这可能是因为您使用glibc作为C库,它根本不支持静态链接。最好的选择是使用musl“交叉编译器”。
    git clone git@github.com:git/git.git
    mkdir git-static
    cd git
    ./configure prefix=/path/to/git-static/ CFLAGS="${CFLAGS} -static"
    make
    make install