2013-07-29 6 views
6

per l'installazione git sulle macchine Unix e Linux in base alle istruzioni Installing Git blog, e sta venendo a mancare con l'errore sotto"OpenSSL/ssl.h: No such file or directory" durante l'installazione di Git

make prefix=/usr/local all 
GIT_VERSION = 1.8.3.4 
    * new build flags 
    CC credential-store.o 
In file included from cache.h:4, 
       from credential-store.c:1: 
git-compat-util.h:221:25: warning: openssl/ssl.h: No such file or directory 
git-compat-util.h:222:25: warning: openssl/err.h: No such file or directory 
In file included from credential-store.c:1: 
cache.h:11:21: warning: openssl/sha.h: No such file or directory 
cache.h:19:18: warning: zlib.h: No such file or directory 
In file included from credential-store.c:1: 
cache.h:21: syntax error before "z_stream" 
cache.h:21: warning: no semicolon at end of struct or union 
cache.h:28: syntax error before '}' token 
cache.h:28: warning: type defaults to `int' in declaration of `git_zstream' 
cache.h:28: warning: data definition has no type or storage class 
cache.h:30: syntax error before '*' token 
cache.h:31: syntax error before '*' token 
cache.h:32: syntax error before '*' token 
cache.h:33: syntax error before '*' token 
cache.h:35: syntax error before '*' token 
cache.h:36: syntax error before '*' token 
cache.h:37: syntax error before '*' token 
cache.h:38: syntax error before '*' token 
cache.h:39: syntax error before '*' token 
cache.h:40: syntax error before '*' token 
cache.h:41: syntax error before '*' token 
cache.h:42: syntax error before '*' token 
cache.h:769: syntax error before '*' token 
make: *** [credential-store.o] Error 1 

So che questo è a causa delle librerie mancanti per openssl, ma non riesco a ottenere queste librerie.

Non ho yum/apt-get sul mio computer per eseguire i seguenti comandi come suggerito:

$ yum install curl-devel expat-devel gettext-devel \ 
    openssl-devel zlib-devel 

$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \ 
    libz-dev libssl-dev 

Cosa devo fare ottenere queste librerie su queste macchine. Queste macchine non hanno accesso a Internet, posso fare uno scp se necessario. Eventuali suggerimenti.

+3

domande relative al software installare sono più adatti per [SU]. Inoltre dovresti fornire dettagli sul tuo sistema operativo, gestione dei pacchetti, ecc ... – CharlesB

+0

Se puoi dirci il tuo sistema operativo, potremmo essere in grado di indicarti un percorso di download canonico per Git, pacchetto gestito o no. Per i pacchetti più diffusi su piattaforme popolari, non dovresti praticamente mai dover compilare nulla tu stesso (ad esempio, ad esempio Gentoo, dove la compilazione locale è parte dell'architettura di gestione dei pacchetti). – tripleee

risposta

-2

mezza risposta (che copre apt, non yum):

Se si aggiunge --print-uris al comando apt-get, vi dirà quali file di cui ha bisogno e dove possono essere scaricati, allora si può andare a prendere quei file e dpkg -i loro. Oppure inseriscili nello /var/cache/apt/archives ed esegui lo apt-get (senza --print-uris) e li troverà nella cache e non proverai a scaricarli.

+0

quando eseguo il comando apt-get, dice: apt-get comando non trovato quindi non ho apt-get sulla macchina pure –

1

Se non si ha accesso ai pacchetti precompilati per le librerie richieste, è necessario ricorrere alla pratica antica di prima che esistessero i gestori di pacchetti: creare le librerie localmente e le librerie da cui dipendono e le librerie loro dipendono, e così via.

In altre parole, ci si trova in un labirinto di dipendenza potenzialmente ampio e complesso, che potrebbe includere la correzione dei bug di portabilità per la propria piattaforma se l'origine non viene compilata immediatamente.

Il PTS Debian ha collegamenti a progetti upstream per molti pacchetti, quindi potrebbe non essere necessario indovinare quale risultato scegliere per i risultati di Google per "openssl source". Vedi per es. http://packages.qa.debian.org/o/openssl.html (il collegamento "Cerca codice sorgente" è un buon inizio, il file Debian Copyright per ogni pacchetto dovrebbe contenere anche un URL upstream, sebbene possa essere storico).

anche:

Se si dispone di un gestore di pacchetti in locale (su Debian, che sarebbe la base dpkg) allora puoi evitare di trovare e compilare mora ss, e copia semplicemente la gerarchia richiesta di pacchetti dipendenti da un host connesso a Internet; ma di nuovo, assicurati di ottenere il set completo di dipendenze ricorsive (qualsiasi cosa dipenda da un pacchetto da cui dipende, in modo ricorsivo). Per esempio. https://packages.debian.org/stable/openssl mostra quali pacchetti il ​​pacchetto openssl di Debian dipende; alcuni di loro avranno un elenco simile di dipendenze a loro volta, a loro volta.

Problemi correlati