2012-07-19 8 views
11

Ich habe Git Quelle von https://github.com/git/git als Zip-Datei heruntergeladen.Wie baue ich git mit statischer Verknüpfung?

Ich extrahierte es in/home/Desktop/denis/git (mit Ubuntu).

nun das Tutorial here sagt, dass ich für den Aufbau git

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

aus dem oben genannten Ordner als Schritt ausgeführt werden soll.

Aber die Git-Quelle scheint keine Konfigurationsdatei in ihrem Stammordner zu haben, die ich ausführen kann (nur configure.ac, was ich nicht für die Suche halte).

Was fehlt mir hier? Wie baue ich git manuell?

Ich mache das, weil ich versuche, git arbeiten auf einem Shared-Hosting-Server, wo ich nicht git installieren kann.

+0

'make configure' zuerst. Das erfordert 'autoconf'. –

Antwort

-3

Lesen Sie die INSTALL-Datei im Stammverzeichnis der entpackten Datei, es scheint, dass es in es einige nützliche Befehl ist, was ich vermute:

Alternativ können Sie verwenden autoconf ./configure-Script zu Set erzeugt up Pfade installieren (via config.mak.autogen), so können Sie stattdessen

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

oder einfach schreiben:

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

Das baut keinen statisch verknüpften Git auf, denke ich. – kipz

5

Ja ... es wird kompiliert, aber nicht statisch. Um Ihr Ziel zu erreichen, müssen Sie es kompilieren den Befehl:

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

Nur mit -staticwird es nicht die Binärdateien ordnungsgemäß verknüpfen.

Sie werden einige Bibliotheken während des Kompilierungsprozesses benötigen: Gzip und PKZIP Kompressionsalgorithmus, SSL, XML Parsing und CURL neben anderen allgemeinen Bibliotheken. Diese, die ich gerade erwähnt habe, sind jeweils in den Paketen zlib1g-dev libssl-dev libexpat1-dev libcurl4-nss-dev.

So laufen im Grunde die Befehle:

  • apt-get install gcc zlib1g-dev libssl-dev libexpat1-dev libcurl4-NSS-dev
  • make prefix =/home/denis/git-statische CFLAGS machen = "$ {CFLAGS} -static-libgcc"

Ich hoffe, dass die Dinge gut für Sie dort gehen. Viel Glück bei deiner Zusammenstellung.

+1

scheint leider nicht mehr zu funktionieren, ldd berichtet über externe Bibliotheken – let4be

0

Die anderen Antworten funktionierten nicht für mich. Vielleicht werden sie für andere.Was für mich getan hat Arbeit war:

  1. der Quellcode Get
  2. ein Zielverzeichnis Make
  3. Geben Sie das Quellverzeichnis
  4. konfigurieren

Verwenden Installieren Bauen die folgenden Befehle:

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

Dies wird Sie mit einigen Ordnern im Verzeichnis git-static verlassen, aber die ausführbare Datei ist statisch verknüpft. Es ist auch wesentlich größer als üblich (vielleicht 1,5 MB größer).

Verwandte Themen