Сборка Krita под Linux для котанов

в 6:31, , рубрики: build, development, krita, open source, Блог компании Krita Foundation, дизайн, исходники, котики, котэ, Работа с анимацией и 3D-графикой, рисование, сборка, свежак )

Сборка Krita под Linux для котанов - 1
Наконец, перевод очередной статьи от Давида Ревуа — прекрасного художника, использующего свободное программное обеспечение, а также постоянного члена сообществ Krita Foundation и Blender Institute. Мастер делится с начинающими художниками инструкцией по сборке самой свежей версии графического редактора Krita из исходных кодов. Он считает, что этот процесс на самом деле не так сложен и заковырист, как кажется на первый взгляд. Все этапы прекрасно проиллюстрированы. Приобщайтесь!

Вступление

Почти через год после того, как я выпустил Compilscripts на GitHub, я понял, что допустил ошибку. Сама идея подхода Compilscript оказалась неверной, поэтому я решил прекратить его поддержку

Что такое Compilscript ? 
Проект Compilscript был набором скриптов, помогающих пользователям собрать и установить Krita (последнюю версию для разработчиков) и осуществлять «автомагическое» техническое обслуживание программы. Скрипты достигли небольшого успеха. Я до сих пор горжусь тем, как много я узнал, пока его делал.

Что было не так?
Если случалось что-то необычное, то, чего я не учел, Compilscript выдавал ошибку и прекращал работу… А так как «необычности» — это обычное явление в Linux, пользователь сильно зависел от системы, которую не понимал. И когда она ломалась, она также ломала весь рабочий процесс пользователя, не оставляя ему возможности чего-либо исправить. Это не решение.

Новый подход
Поэтому я решил, что лучше всего путь Arch Linux не давать автоматического инструмента, но вместо этого создать документацию, позволяющую художнику с легкостью выполнить процесс самостоятельно и понять, что происходит. Художник должен иметь возможность произвести установку, обновление и, в случае если что-то не будет работать, вернуться к старой версии кода; всё это просто и легко сделать, используя инструкцию.

Всё проиллюстрировано
Также я предлагаю ряд иллюстраций о компиляции (распространяются под лицензией CC-By). Надеюсь, эти изображения помогут другим проектам стать более дружелюбными к пользователю и понятнее донести смысл через простую аналогию: кот строит домик.

Почему кот?
Потому что котиков хорошо знает весь Интернет: с котиками невозможно ошибиться.

Готовим директории

Сборка Krita под Linux для котанов - 2
Первый обязательный шаг: подготовка места. Потребуется примерно 5GB свободного пространства в вашем домашнем каталоге. Мы будем использовать структуру, рекомендованную разработчиками:

/home/<имя-пользователя>/kde4/src для исходного кода
/home/<имя-пользователя>/kde4/build для сборки Krita
/home/<имя-пользователя>/kde4/inst для установки Krita

Примечание: в этой инструкции воспринимайте <имя-пользователя> как ваше имя пользователя (напр.: /home/deevad/kde4/src )

Чтобы сделать это, откройте Терминал, скопируйте строку (Ctrl+C) и вставьте в Терминал (Ctrl+Shift+V ):

mkdir -p ~/kde4/src ~/kde4/build ~/kde4/inst

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

Получаем исходный код

Сборка Krita под Linux для котанов - 3
Перейдите в папку, используя команду cd (change directory) и клавишу Tab для авто-дополнения названий.

cd ~/kde4/src

Установите git с помощью менеджера пакетов вашего дистрибутива.
Затем дайте git команду получить исходный код, вставьте в Терминале эту строку, находясь в директории ~/kde4/src:

git clone git://anongit.kde.org/calligra.git

Внимание! В настоящий момент (март 2015-го) в связи с переходом на Qt5 основная разработка Krita ведется в ветке calligra/2.9, поэтому сразу после получения исходных текстов необходимо переключить текущую ветку командами

cd ~/kde4/src/calligra
git checkout calligra/2.9

Получаем библиотеки и зависимости

Сборка Krita под Linux для котанов - 4
Эта часть может быть сложноватой: каждый дистрибутив использует свой способ управления пакетами, поэтому устанавливаем библиотеки. Krita — часть Calligra, поэтому зависит от большого количества библиотек; и не всегда получается их установить одной командой. На некоторых дистрибутивах (Ubuntu, openSUSE) для этого есть основной мета-пакет, но на других — нет. Читайте официальную документацию по ссылке, чтобы уточнить код для автополучения необходимых библиотек. (Примечание: это ссылка на wiki-страницу, поэтому не стесняйтесь редактировать, добавлять, вносить правки, чтобы облегчить данный процесс другим пользователям.)

Если вашего дистрибутива нет в списке, перейдём к плану «Б» и будем искать пакеты по одному в вашем менеджере пакетов. Это звучит ужасно, но не должно занять слишком много времени. (Примечание: в некоторых дистрибутивах эти библиотеки называются по принципу: <имя-библиотеки>-dev или <имя-библиотеки>-devel ).

Этот список будет вам полезен:

git make cmake boost boost-build kdepimlibs eigen kdegraphics-okular
libgsf libwpd libwpg libwps pstoedit glew gsl automoc4 boost libkdcraw
libpqxx fftw opengtl lcms2 vc exiv2

В редких случаях, а также если ваш дистрибутив устарел, может получиться так, что вам будут доступны только старые версии библиотек. Вам потребуется собрать эти зависимости вручную. Запомните, файлы README и поисковые системы — ваши друзья.

Конфигурирование

Сборка Krita под Linux для котанов - 5
Конфигурирование с помощью cmake проверит, достаточно ли установлено библиотек для сборки Krita. Если вы получите ошибки при конфигурировании, посмотрите, каких именно библиотек не хватает, в выводе команды будет об этом написано. Вот почему важно проверять, всё ли в порядке.

Мы информируем cmake о нашей структуре папок, а также даём команду на сборку только Krita. Но сначала делаем cd, чтобы сделать все в правильном месте:

cd ~/kde4/build
cmake -DCMAKE_INSTALL_PREFIX=$HOME/kde4/inst $HOME/kde4/src/calligra -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPRODUCTSET=KRITA

Сборка

Сборка Krita под Linux для котанов - 6
После того как вы прочтете отчет о конфигурации, если всё выглядит нормально, настанет время собирать Krita.
Оставаясь в папке /kde4/build, вызовите make с параметром -j<количество>, где <количество> должно быть заменено числом параллельных операций, поддерживаемым вашим процессором ( иногда рекомендуется +1). Например, у меня 8 ядер, поэтому я использую -j9.

make -j9

Совет: если вы не знаете, сколько у вас ядер, можно узнать это простой командой:

cat /proc/cpuinfo | grep processor | wc -l

Установка

Сборка Krita под Linux для котанов - 7
Если сборка дошла до 100% без ошибок, вы можете дать команду make установить файлы в вашу папку.

make install -j9

Пути и переменные окружения

Сборка Krita под Linux для котанов - 8

Установка завершена, но ваша система еще не рассматривает содержимое папки установки как часть набора приложений в системе. Давайте укажем системе правильный путь, в Терминале скопируем по очереди строки:

export KDEDIRS=$HOME/kde4/inst:$KDEDIRS
export PATH=$HOME/kde4/inst/bin:$PATH

К сожалению, эти переменные окружения не постоянны, после выключения или перезагрузки системы они будут потеряны и наш мостик разрушится. Чтобы они задавались при каждом входе в систему, вставьте их в конце файла ~/.profile с помощью своего любимого текстового редактора (в некоторых дистрибутивах профиль называется xprofile, проверьте скрытые файлы в папке home/<имя-пользователя>). Затем вам нужно зарегистрировать Krita в системе, kbuildsycoca4 сделает это после запуска в терминале:

kbuildsycoca4

Первый запуск

Сборка Krita под Linux для котанов - 9
Поздравляем! Вы можете запустить «Krita-минутной-свежести», написав krita в Терминале или с помощью системного меню.
Если там не отображается Krita, почитайте документацию по вашему окружению рабочего стола: «Как создать пользовательскую кнопку запуска».

Обновление

Сборка Krita под Linux для котанов - 10
Вы услышали о добавлении новой потрясающей возможности или прочитали об исправлении раздражающей ошибки и хотите обновить версию? Спокойствие, снова вызовите git. Настало время добавить недостающие строки кода в вашу папку. Не надо перекачивать весь пакет.
Сборка Krita под Linux для котанов - 11
Перейдите (cd) в папку с кодом, затем попросите git pull обновить ваш код:

cd ~/kde4/src/calligra/
git pull

Сборка Krita под Linux для котанов - 12
Но только обновления кода недостаточно; чтобы испытать новую версию Krita, нужно повторить конфигурирование, компиляцию и установку:

cd ~/kde4/build
cmake -DCMAKE_INSTALL_PREFIX=$HOME/kde4/inst $HOME/kde4/src/calligra -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPRODUCTSET=KRITA
make -j8
make install -j8

Если вы обновляетесь ежедневно, вы можете автоматизировать процесс, создав свой минимальный скрипт. Я поделился своим с помощью сервиса 'KDE paste'.

Восстановление

Сборка Krita под Linux для котанов - 13
Последняя версия для разработчиков может иногда падать или быть непригодной для работы. Экспериментальные изменения добавляются ежедневно. Это может подорвать вашу продуктивность, если вы не знаете как 'вернуться назад во времени' (напр.: ваша любимая кисть больше не работает). Но если вы знаете, как это сделать, ничто не смутит вас, потому что вы можете вернуться к предыдущему состоянию.
Сборка Krita под Linux для котанов - 14
Чтобы путешествовать сквозь код и время, надо ознакомиться с хронологией. В Терминале для этого используется git log

cd ~/kde4/src/calligra/
git log

С помощью git log, вы можете отследить любые изменения кода, которые называются «коммитами» ('commit'). Нас интересует длинный идентификационный номер (напр.: 15c1749105a7e7cc56b646a66919c29646f8653a ). Вы можете пролистать git log, скопировать номер ID и выйти ( буква Q на клавиатуре). Теперь отправимся в прошлое вашей папки с кодом:

git checkout 15c1749105a7e7cc56b646a66919c29646f8653a

Теперь конфигурируем, компилируем и мы снова в безопасности. Также я рекомендую пакеты gitg или gitk, чтобы иметь графический интерфейс для отображения истории git. Также здесь доступна онлайн-версия.

Чтобы снова обновиться до кода минутной свежести, именуемого master, просто попросите git сходить к нему с git checkout и получите (pull) обновление:

git checkout master
git pull

Сборка Krita под Linux для котанов - 15

Итог

Надеюсь, эта инструкция поможет многим пользователям насладиться возможностями версии Krita для разработчиков.
Вы можете оставлять отзывы и поправки в комментариях, я сделаю всё, что смогу для поддержания актуальности данной страницы (прим. пер.: я тоже буду стараться поддерживать перевод этой статьи актуальным).

Полезные ссылки:
Группа русскоязычных пользователей в ВК

Форма сообщения об ошибке (официальная база ошибок)
Форма сообщения об ошибке на русском
Официальный блог Krita
Официальный форум Krita

Ещё ссылки

— Официальная wiki-страница документации по сборке Calligra.
Calligra Git: активность и история
Список обнаруженных и исправленных багов Krita
— Старый репозиторий Compilscript (скоро будет удалён)

Автор: superzhook

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js