2012-07-19 12 views
11

Pobrałem źródło git z https://github.com/git/git jako plik zip.Jak zbudować git z łączem statycznym?

Wyodrębniłem go do/home/Desktop/denis/git (używając Ubuntu).

Teraz poradnik here mówi, że należy uruchomić

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

z wyżej wymienionym folderze jako krok do budowania git.

Ale wydaje się, że źródło git nie ma pliku konfiguracyjnego w jego folderze głównym, który mogę uruchomić (tylko configure.ac, który, jak podejrzewam, nie jest tym, czego szukam).

Czego mi tu brakuje? Jak ręcznie zbudować git?

Robię to, ponieważ próbuję uzyskać git działa na współdzielonym serwerze hostingowym, gdzie nie jestem w stanie zainstalować git.

+0

'make configure configure' first. To wymaga 'autoconf'. –

Odpowiedz

-3

Przeczytaj plik INSTALL w folderze głównym plik rozpakowany, wydaje się, że pewne użyteczne wskazówki w to, co podejrzewam:

Alternatywnie można użyć autoconf wygenerowany skrypt ./configure zestawie się zainstalować ścieżki (przez config.mak.autogen), więc można napisać zamiast

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

lub po prostu:

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

To nie buduje statycznie połączonego gita, jak myślę. – kipz

5

Tak ... jest kompilowany, ale nie statycznie. Aby osiągnąć swój cel, trzeba skompilować go za pomocą polecenia:

dokonywania prefix =/home/Denis/git-statyczne CFLAGS = "$ {CFLAGS} -static-libgcc"

Tylko z -staticnie będzie poprawnie łączyć plików binarnych.

Będziesz potrzebował kilku bibliotek podczas kompilacji: algorytm kompresji Gzip i PKZIP, SSL, parsowanie XML i CURL, oprócz innych popularnych bibliotek. O których właśnie wspomniałem są odpowiednio w pakietach zlib1g-dev libssl-dev libexpat1-dev libcurl4-nss-dev.

Więc uruchom zasadzie polecenia:

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

Mam nadzieję, że wszystko będzie dobrze. Powodzenia w twojej kompilacji.

+1

nie działa, niestety, ldd informuje o bibliotekach zewnętrznych – let4be

0

Inne odpowiedzi mi nie pasowały. Być może będą dla innych.Co nie działa dla mnie było:

  1. Pobierz kod źródłowy
  2. Bądź katalog docelowy
  3. Podaj katalog źródłowy
  4. Konfiguruj
  5. Budowanie
  6. instaluję

Użyj następujące polecenia:

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

Zostanie utworzona lista folderów w katalogu git-static, ale plik wykonywalny jest statycznie połączony. Jest również znacznie większy niż zwykle (może 1,5 MB większy).

Powiązane problemy