Збираємо програми з початкових кодів ()

Збірку програми можна порівняти з випічкою пирога. Найчастіше, спочатку треба взяти всі необхідні інгредієнти (исходники), потім змішати їх в потрібному порядку (підготувати вихідні до збірки. / Configure), а потім залити в форму і поставити в піч (запустити збірку, make). Через деякий час з печі можна виймати готовий до вживання пиріг (встановлювати готову програму, make install).

Слід зазначити, що в даному випадку для випічки необхідна кухня і піч. Також і для складання програми необхідні інструменти розробника. Зазвичай це включає в себе як мінімум компілятор і супутні йому програми, як наприклад утиліта make. Це і є "піч". Буде потрібно і місце, де можна всім цим зайнятися - командний рядок (термінал) ( "кухня"). Якщо у вас є і кухня, і піч, то можете починати готувати.

Отже, всі вільні програми доступні у вигляді вихідного коду. Це напівфабрикат програми. З нього легко можна зібрати саму програму, а можна і використовувати для створення якоїсь нової програми. По-англійськи вихідний код називається source code.

Крок 1: беремо вихідні

Необхідно завантажити і розпакувати архів з вихідним кодом програми. Наприклад, можна скачати програму hello-2.1.1. Зазвичай вихідні слід брати з сайту розробників програми.

Розпакувати архів можна так:
tar zxvf hello-2.1.1.tar.gz

(Не забувайте, що в більшості випадків натискання клавіші Tab дозволяє доповнити ім'я файлу, ввівши лише кілька перших символів). При цьому вміст архіву буде розпаковано в той же каталог, в якому знаходиться архів.

Перейдіть в каталог з вихідним кодом:
cd hello-2.1.1

Крок 2: configure (месім тісто)

Прочитайте файли INSTALL і README, якщо вони є в архіві вихідного коду. У них може міститися важлива інформація про те, як встановлювати і використовувати програму.

У більшості випадків для підготовки початкових кодів до збірки буде потрібно виконати тільки одну команду:
hello-2.1.1 $ ./configure

Вона перевірить наявність всіх необхідних умов (бібліотек та інших програм) у Вашій системі, і приготує вихідний код до їх використання. Зверніть увагу на символи "./" на початку команди. Вони вказують, що необхідно виконати команду configure з поточного каталогу, тобто команду configure поставляється разом з вихідним текстом програми, яку ми збираємо.

На цьому ж етапі можна вказати і куди саме треба ставити програму. Хоча в більшості випадків рекомендується ставити "самозбірні" програми в каталог / usr / local, іноді це неможливо. Так, якщо у користувача немає прав адміністратора, наприклад на громадському комп'ютері, то встановити програму можна тільки в свій домашній каталог. Щоб встановити програму в домашній каталог потрібно вказати додатковий параметр команді configure:
hello-2.1.1 $ ./configure --prefix = $ HOME

Якщо ж з'являються якісь повідомлення про помилки, значить чогось на вашій "кухні" для приготування цієї програми мабуть не вистачає. Найчастіше який-небудь бібліотеки. Який - підкаже висновок програми configure

Крок 3: make (в піч!)

Якщо попередня стадія закінчилася нормально, то тепер можна ставити наш напівфабрикат в піч. Тобто запускати процес складання програми. Зазвичай він відбувається автоматично і управляється командою make:
hello-2.1.1 $ make

Для великих програм цей процес може займати досить багато часу. Однак наша програма-приклад hello повинна зібратися швидко.

Якщо збірка закінчилася повідомленням на кшталт цього:

make: *** [all] Помилка 2

то значить, щось пішло не так, і збірка не вийшла. Однак найчастіше збірка закінчується без помилок.

Крок 4: make install (їсти подано!)

Власне все. Пиріг можна подавати до столу, а зібрану програму встановлювати в систему. Робиться це так:

hello-2.1.1 $ make install

Якщо на кроці підготовки початкових кодів Ви вибрали варіант установки в домашній каталог (як я), то не забудьте додати підкаталог

/ Bin в змінну PATH:

Можете запускати зібрану програму:

Вона пише на екран "Здрастуй, світ!". Все ОК.

Сподіваюся, що ці інструкції будуть зрозумілі навіть зовсім початківцям користувачам лінукс. Мені свого часу не вистачало таких інструкцій :)

P.S. Хочу, однак, зауважити, що збірка з вихідних несе з собою цілий ряд незручностей. Перше і найбільш суттєве з них - видаляти таку програму набагато клопітно. У випадку з hello це можна зробити за допомогою команди

hello-2.1.1 $ make uninstall

Тому краще користуватися готовими пакетами, що поставляються з Вашим дистрибутивом. Так, щоб встановити програму hello в Debian GNU / Linux достатньо всього однієї команди:

sudo aptitude install hello