Рубрики
kernel \ source \ пакеты \ исходники

Компилирование программ

Информация:

Для компилирования и установки программ нужны три команды, которые иногда называются «три в одном»: 
./configure, make и make install (далее они будут описаны более подробно).
При этом должен быть открыт каталог с исходным кодом.

Сценарий configure:

 Это сценарий, который проверяет, доступны ли все необходимые программы и библиотеки. 
Поскольку сценарий находится в локальной папке, его нужно выполнять в виде ./configure. 
Этот сценарий адаптирует файл Makefile, содержащий все команды, для компилирования и компоновки различных файлов кода. 

!!!В некоторых (обычно небольших) программах configure может отсутствовать. 
!!!В таком случае сразу выполняйте make.

./configure

Команда make:

Инициирует обработку команд компилирования и компоновки. 
Теперь вы увидите (иногда практически бесконечные) уведомления и предупреждения о различных процессах компилирования, переполняющие окно консоли. 
Если не происходит ошибок, можете просто игнорировать эти сообщения. 
В результате в каталоге с исходным кодом должен появиться исполняемый файл имя.

make

Во многих случаях на этом этапе уже можно запускать программу (команда . /имя) и тестировать ее.
Однако обратите внимание, что некоторые службы, в частности сетевые, 
требуют специальной конфигурации и обычно должны запускаться с помощью сценариев Init-V!

Команда make install:

На заключительном этапе мы должны обеспечить всем пользователям доступ к программе. 
Нам потребуется скопировать файлы программы и, возможно, файлы библиотек в общедоступные каталоги. 
Для этого необходимы права администратора. 

Перед выполнением make install следует убедиться, что нужная программа еще не установлена!
В ином случае ее предварительно потребуется деинсталлировать.

make install

Команда uninstall:

Удаление собранной программы

make uninstall 

Возможные проблемы:

При компилировании программ могут возникать разнообразные проблемы. 
Чаще всего они связаны с отсутствием каких-либо вспомогательных компилирующих инструментов или библиотек. 
Как правило, такие проблемы идентифицирует уже configure и устранить их совсем не сложно — нужно просто установить недостающий пакет.

Ситуация осложняется, когда configure требует библиотеку, которая недоступна в вашем дистрибутиве, 
либо у вас нет необходимой версии этой библиотеки. 

Тогда вам придется искать в Интернете нужную библиотеку или, возможно, сначала скомпилировать библиотеку. 
Что касается сложных программ, например Apache или mplayer, в Интернете имеются точные руководства по компилированию, 
в которых пошагово описано, что и в какой последовательности необходимо установить и скомпилировать.

Еще хуже, если в процессе компилирования возникает синтаксическая ошибка и процесс компилирования обрывается сообщением об ошибке. 
Часто причиной этому служит не программная ошибка, а несовместимость вашего компилятора и кода. 
Некоторые программы можно скомпилировать только определенной версией GCC (часто не новейшей!), 
то есть проблема решается установкой нужной версии компилятора. 
На этот случай в Интернете или в файлах README, сопровождающих исходный код, часто можно найти точные указания.