Как построить git со статической связью?
Я загрузил git источник из https://github.com/git/git в качестве zip файла.
Я извлек его в /home/Desktop/denis/ git (используя Ubuntu).
Теперь учебник здесь говорит, что я должен запустить
./configure --prefix=/home/denis/git-static CFLAGS="${CFLAGS} -static"
из вышеупомянутой папки в качестве шага для построения git.
Но источник git не имеет файла конфигурации в корневой папке, который я могу запустить (только configure.ac, который, как я подозреваю, не является тем, что я ищу).
Что мне здесь не хватает? Как создать git вручную?
Я делаю это, потому что я пытаюсь заставить git работать на общем сервере хостинга, где я не могу установить git.
Ответы
Ответ 1
Прочитайте файл INSTALL в корневой папке распакованного файла, кажется, что в нем есть полезная инструкция, что я подозреваю:
В качестве альтернативы вы можете использовать созданный autoconf./configure script для настройте пути установки (через config.mak.autogen), чтобы вместо этого вы могли написать
$ make configure ;# as yourself
$ ./configure --prefix=/usr ;# as yourself
$ make all doc ;# as yourself
# make install install-doc install-html;# as root
или просто:
$ make prefix=/usr all doc info ;# as yourself
# make prefix=/usr install install-doc install-html install-info ;# as root
Ответ 2
Да... он компилируется, но не статически. Чтобы достичь своей цели, вам необходимо скомпилировать ее с помощью команды:
сделать префикс =/home/denis/ git -статический CFLAGS = "$ {CFLAGS} -статический-libgcc"
Только при -статической он не будет правильно связывать двоичные файлы.
В процессе компиляции вам понадобятся некоторые библиотеки: алгоритмы сжатия Gzip и PKZIP, SSL, XML-анализ и CURL, кроме других распространенных библиотек. Это я только что упомянул в пакетах zlib1g-dev libssl-dev libexpat1-dev libcurl4-nss-dev.
Итак, запустите в основном команды:
- aptitude install gcc make zlib1g-dev libssl-dev libexpat1-dev libcurl4-nss-dev
- make prefix =/home/denis/ git -статический CFLAGS = "$ {CFLAGS} -static-libgcc"
Я надеюсь, что все будет хорошо для вас. Удачи в вашей компиляции.
Ответ 3
Другие ответы не помогли мне. Возможно, они будут для других. Что для меня работало:
- Получить исходный код
- Сделать целевой каталог
- Введите исходный каталог
- Настройка
- Построить
- Установить
Используйте следующие команды:
git clone [email protected]:git/git.git
mkdir git-static
cd git
./configure prefix=/path/to/git-static/ CFLAGS="${CFLAGS} -static"
make
make install
Это оставит вас с несколькими папками в каталоге git-static
, но исполняемый файл статически связан. Он также значительно больше обычного (возможно, на 1,5 МБ больше).