如何build立与静态链接的git?

我从https://github.com/git/git下载了git源文件作为zip文件。

我把它解压到/ home / Desktop / denis / git(使用Ubuntu)。

现在这里的教程说,我应该跑

./configure --prefix=/home/denis/git-static CFLAGS="${CFLAGS} -static" 

从上面提到的文件夹作为构buildgit的一个步骤。

但git源似乎没有一个configuration文件在它的根文件夹,我可以运行(只configure.ac,我怀疑是不是我正在寻找)。

我在这里错过了什么? 如何手动build立git?

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

Solutions Collecting From Web of "如何build立与静态链接的git?"

阅读解压缩文件的根文件夹中的INSTALL文件,似乎有一些有用的指令,我怀疑:

或者,您可以使用autoconf生成的./configure脚本来设置安装路径(通过config.mak.autogen),所以你可以写

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

或者只是简单地:

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

是的,它正在编译,但不是静态的。 要达到您的目标,您需要使用以下命令进行编译:

make prefix = / home / denis / git-static CFLAGS =“$ {CFLAGS} -static-libgcc

只有-static 不会正确链接二进制文件

在编译过程中,您将需要一些库:Gzip和PKZIP压缩算法,SSL,XML解析和CURL除了其他常用库。 这些我刚刚提到的是在包zlib1g-dev libssl-dev libexpat1-dev libcurl4-nss-dev中。

所以,基本上运行命令:

  • aptitude install gcc make zlib1g-dev libssl-dev libexpat1-dev libcurl4 -nss-dev
  • make prefix = / home / denis / git-static CFLAGS =“$ {CFLAGS} -static-libgcc”

我希望你们在那里事情顺利。 祝你好运。

其他答案不适合我。 也许他们会为别人。 什么为我工作是:

  1. 获取源代码
  2. 制作一个目标目录
  3. 进入源目录
  4. 配置
  5. 建立
  6. 安装

使用以下命令:

 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.5 MB)。