Запис журналів збирання kdesrc-build

Огляд ведення журналу

Ведення журналу — це можливість kdesrc-build, за використання якої дані, виведені будь-якої командою, яку запускає kdesrc-build, буде збережено до файла для наступного вивчення, якщо це буде потрібно. Так зроблено, тому що ці дані часто потрібні для визначення причин помилки під час збирання, оскільки існує багато причин, через які збирання може бути невдалим.

Компонування каталогів журналу

Журнали завжди зберігаються у каталозі журналів. Адреса каталогу журналів визначається параметром log-dir, типовим значенням якого є ${source-dir}/log (де ${source-dir} є значенням параметра source-dir. Надалі у цьому розділі ми посилатимемося на значення відповідного параметра як ${log-dir}).

У каталозі ${log-dir} буде створено набір каталогів, по одному на кожен запуск kdesrc-build. Кожен з каталогів матиме назву, що відбиватиме дату запуску скрипту і номер запуску. Наприклад, для другого запуску kdesrc-build 26 травня 2009 року буде створено каталог з назвою 2009-05-26-02, де 2009-05-26 позначатиме дату а -02 порядковий номер запуску.

Крім того, для зручності, kdesrc-build створить посилання на журнали останнього запуску з назвою latest. Отже, журнали для найостаннішого запуску kdesrc-build мають завжди зберігатися у теці ${log-dir}/latest.

Крім того, кожен з каталогів запусків kdesrc-build сам містить набір каталогів, по одному на кожен модуль KDE, який kdesrc-build намагається зібрати. У цьому каталозі також міститиметься файл build-status, за допомогою якого ви зможете визначити, які модулі було зібрано, а які зібрати не вдалося.

Примітка

Якщо у самому модулі міститься підмодуль (наприклад extragear/multimedia, playground/utils, або KDE/kdelibs), йому відповідатиме власний підкаталог у каталозі журналу. Наприклад, журнали KDE/kdelibs після останнього запуску kdesrc-build можна буде знайти у ${log-dir}/latest/KDE/kdelibs, а не у каталозі ${log-dir}/latest/kdelibs.

У кожному з каталогів модулів ви знайдете набір файлів для кожної з дій, які виконуватиме kdesrc-build. Якщо kdesrc-build оновлює модуль, ви побачите файли з назвами на зразок git-checkout-update.log (отримання модуля або якщо відбувалося оновлення модуля, який вже було отримано). Якщо було запущено скрипт configure, слід очікувати появи журналу configure.log у цьому каталозі.

Якщо сталася помилка, ви побачите пояснення її причину у одному з файлів. Щоб вам легше було знайти файл, у якому міститься помилка, kdesrc-build створить посилання з файла, що містить помилку (на зразок build-1.log на файл з назвою error.log).

Результатом всього цього буде те, що ви знатимете чому не вдалося зібрати модуль після останнього запуску kdesrc-build, для цього вам слід для початку знайти файл з назвою ${log-dir}/latest/назва модуля/error.log.

Підказка

Якщо файл error.log є порожнім (особливо після встановлення), ймовірно, жодних помилок не сталося. Деякі з інструментів, які використовуються системою збирання KDE, іноді помилково повідомляють про помилку, коли насправді помилок не сталося.

Крім того, деякі з команд уникатимуть переспрямування виведення даних kdesrc-build і за певних обставин обходять файл журналу (зазвичай, під час виконання першого отримання Git), в такому випадку помилки не можна буде знайти файл журналу, — всі помилки буде виведено до Konsole або програми термінала, з якої ви запустили kdesrc-build.