Збираємо програми з початкових кодів ()
Збірку програми можна порівняти з випічкою пирога. Найчастіше, спочатку треба взяти всі необхідні інгредієнти (исходники), потім змішати їх в потрібному порядку (підготувати вихідні до збірки. / 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