2012-07-19 8 views
11

He descargado git source desde https://github.com/git/git como un archivo zip.¿Cómo construir git con enlaces estáticos?

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

Ahora el tutorial here dice que debería funcionar

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

de la carpeta mencionada anteriormente como un paso para la construcción de git.

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

¿Qué me falta aquí? Cómo construir git manualmente?

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

+0

'make configure' primero. Eso requiere 'autoconf'. –

Respuesta

-3

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

Alternativamente, puede utilizar autoconf genera ./configure script para conjunto a instalar a través de caminos (config.mak.autogen), para que pueda escribir en 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 
+3

Esto no crea un git estáticamente enlazado, creo. – kipz

5

Sí ... está siendo compilado, pero no estático. Para lograr su objetivo, es necesario compilarlo usando el comando:

hacen prefix =/home/Denis/CFLAGS Git-estática = "$ {CFLAGS} -static-libgcc" Sólo

con -staticno va a vincular correctamente los archivos binarios.

Necesitará algunas bibliotecas durante el proceso de compilación: algoritmo de compresión 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 paquetes zlib1g-dev libssl-dev libexpat1-dev libcurl4-nss-dev.

lo tanto, ejecuta básicamente los comandos:

  • aptitude install gcc hacer zlib1g dev-libssl dev-libexpat1 dev-libcurl4-NSS-dev
  • make prefix =/home/Denis CFLAGS Git-estática/= "$ {CFLAGS} -static-libgcc"

Espero que las cosas vayan bien para usted allí. Buena suerte en tu compilación.

+1

parece que ya no funciona. Informes de ldd sobre bibliotecas externas – let4be

0

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. Hacer un directorio de destino
  3. Introduzca el directorio de origen
  4. Configurar
  5. Construir
  6. Instalar

Uso los siguientes comandos:

git clone [email protected]:git/git.git 
mkdir git-static 
cd git 
./configure prefix=/path/to/git-static/ CFLAGS="${CFLAGS} -static" 
make 
make install 

Esto le dejará con algunas carpetas en el directorio 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).

Cuestiones relacionadas