¿Cómo build git con enlaces estáticos?

Descargué git source desde https://github.com/git/git como un file zip.

Lo extraje en / home / Desktop / denis / git (usando Ubuntu).

Ahora el tutorial aquí dice que debería correr

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

desde la carpeta mencionada anteriormente como un paso para build git.

Pero la fuente de git no parece tener un file de configuration en su carpeta raíz que puedo ejecutar (solo configure.ac, que sospecho que no es lo que estoy buscando).

¿Que me estoy perdiendo aqui? Cómo build git manualmente?

Estoy haciendo esto porque estoy tratando de ponerme a trabajar en un server de alojamiento compartido donde no puedo instalar git.

Lea el file INSTALAR en la carpeta raíz del file descomprimido, parece que hay algunas instrucciones útiles en él, lo que sospecho:

Alternativamente, puede usar el script ./configure generado automáticamente con autoconfiguration para configurar routes de installation (a través de config.mak.autogen), para que pueda escribir en su lugar

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

o simplemente:

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

Sí … está siendo comstackdo, pero no estáticamente. Para lograr tu objective, debes comstackrlo usando el command:

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

Solo con -static no va a vincular los files binarys correctamente .

Necesitará algunas bibliotecas durante el process de compilation: algorithm de compression Gzip y PKZIP, SSL, análisis XML y CURL además de otras bibliotecas comunes. Estos que acabo de mencionar están respectivamente en los packages zlib1g-dev libssl-dev libexpat1-dev libcurl4-nss-dev.

Entonces, ejecuta básicamente los commands:

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

Espero que las cosas vayan bien para ti allí. Buena suerte en tu compilation.

Las otras respuestas no funcionaron para mí. Quizás lo harán para otros. Lo que funcionó para mí fue:

  1. Obtener el código fuente
  2. Haga un directory de destino
  3. Ingrese el directory fuente
  4. Configurar
  5. Construir
  6. Instalar

Use los siguientes commands:

 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 

Esto te dejará con algunas carpetas en el directory git-static , pero el ejecutable está vinculado estáticamente. También es sustancialmente más grande de lo normal (tal vez 1.5 MB más grande).