Как собрать программу из исходников
По совету с форума решил написать данную статью. Действительно, как-то даже и забыл описать такой процесс как сборка программ из исходных кодов. Все новички рано или поздно сталкиваются с такой проблемой: программы в стандартном репозитории нет, а в сети она существует только в виде исходных кодов, и готовых сборок под дистрибутив нет. Многие не решаются даже пытаться собрать программу из исходников самостоятельно, считая, что этот процесс не для их ума. А ведь это на самом деле очень просто, нужно запомнить всего 3 команды.
Итак, нам нужен исходный код программы, обычно он поставляется в архивах (например, tar.gz), распакуем наш архив programm.tar.gz:
tar -xf programm.tar.gz
Теперь перейдем в директорию с распакованными файлами:
cd programm
Далее нужно запустить конфигуратор, но для его работы точно потребуется пакет build-essential, установим его:
sudo apt-get install build-essential
Запускаем конфигуратор:
./configure
Смотрим на вывод конфигуратора, ищем ошибки. Если все прошло удачно, в директории должен создаться makefile, после этого запускаем make:
make
После того как make соберет программу, ее нужно установить:
sudo make install
Вот и все, программа установлена, можно запускать и пользоваться ;)
Таким образом установка программ из исходников сводится в большинстве случаев к выполнению всего лишь 3 команд:
./configure
make
sudo make install
Ничего сложного в установке программ из исходников в Linux нет. Да и вообще, сам по себе Linux не такой уж и сложный в понимании.
Комментарии
# - cheshir, 04.06.2011 в 17:07
Есть хорошая программа checkinstall, с помощью неё можно из исходников скомпилировать бинарый пакет. Для этого после команды
make
нужно ввестиcheckinstall
, а неmake install
. Да, и еще полезно знать, что советы по установки есть также и в файле INSTALL. Т.к в некоторых случаях установка может немного отличатся.# - del, 04.06.2011 в 17:11, в ответ на комментарий
Согласен, отличное дополнение к статье)
# - SergMarkov, 06.06.2011 в 22:37
make install DESTDIR=/папка
- эта опция есть практически в каждом makefile далее из/папка
делаем пакет# - Гость, 02.12.2011 в 16:23
А если исходники на питоне? Тогда команда другая:
А что делать, если в исходниках нет файла configure?
# - del, 02.12.2011 в 17:29, в ответ на комментарий
Если нет ни Makefile, ни configure, значит, программа использует одну из альтернативных систем сборки: scons (присутствует файл SConstruct) или cmake (CMakeLists.txt). В первом случае необходимо установить сам scons:
и запустить компиляцию:
Опции обычно описаны в файле README и передаются утилите scons в качестве аргументов.
Сборка с помощью cmake напоминает использование autotools с той лишь разницей, что вместо запуска
./configure
необходимо набирать командуcmake
. Вся последовательность команд выглядит примерно так (cmake требует указания каталога сборки):Опции обычно описаны в README или INSTALL.
# - cheshir, 03.12.2011 в 12:56, в ответ на комментарий
также если
./configure
отсутствует, но есть фаилautogen.sh
, то сначала надо запустить его, после появится./configure
# - Гость, 10.08.2012 в 18:48
А в других дистрибутивах как?!
# - del, 10.08.2012 в 19:04, в ответ на комментарий
Что "как"? Этот мануал подходит для всех дистрибутивов.
# - Гость, 10.08.2012 в 20:17, в ответ на комментарий
В той же федоре нет утилиты apt-get, и как туда установить этот ваш конфигуратор?
# - del, 10.08.2012 в 20:26, в ответ на комментарий
Нужно было уточнять свой вопрос. В федоре есть yum. В арче есть pacman и yaourt. В gentoo есть emerge. Мне в каждой статье расписывать примеры установки для всех существующих дистрибутивов Linux?
# - Гость, 10.08.2012 в 21:15, в ответ на комментарий
Было бы не плохо т.к ваш сайт не посвещён какому-то одному дистрибутиву, следовательно вам стоит указывать примеры нескольких популярных дистрибутивов.
# - del, 11.08.2012 в 06:17, в ответ на комментарий
у меня дома стоит не полный набор дистрибутивов, а лишь Arch. Поэтому примеры привожу только для него, и по поиску нахожу, также этот пакет называется в Ubuntu или иначе. Можно, конечно, находить информацию по установке для остальных популярных дистрибутивов, но не все же делать за других, люди должны учиться пользоваться поиском самостоятельно.
# - Гость, 11.08.2012 в 11:10, в ответ на комментарий
Просто авторов на сайте много, и дистрибутивы у них разные, можно сними посоветоваться, что бы материал получился более подробным.
# - cheshir, 10.08.2012 в 20:31, в ответ на комментарий
yum - вам в помощь. а так, если по теме, вот это должно помочь
# - Гость, 10.08.2012 в 21:08, в ответ на комментарий
Сегодня попробую, заранее спасибо!
# - Гость, 14.08.2012 в 01:33, в ответ на комментарий
Вроде пашет, спасибо!
Добавить комментарий