Сборка Lazarus из исходников |
03.12.2018 Вадим Исаев |
В этой статье рассказывается, каким образом можно собрать на своём компьютере Lazarus из исходного кода, взятого на сайте разработчиков [1]. Описывается сборка для ОС Linux, Windows и *BSD. Для ОС OpenBSD и FreeBSD даны краткие, но исчерпывающие инструкции по созданию графической рабочей станции. Так же описана установка Lazarus на ОС OpenIndiana Hipster, которая является наследницей ОС OpenSolaris.
Хотя все современные дистрибутивы Linux предлагают установить текущий релиз Lazarus'а из своих репозиториев, однако регулярно бывает необходимо собирать Lazarus из исходного кода, из так называемых снапшотов. Дело в том, что в отличие от многих программных продуктов, которые обновляют с помощью специальных дополнительных патчей, Lazarus обновляется целиком и полностью. Для этого как раз и выпускают снапшоты, причём раз в сутки. Запросто может случиться такая ситуация, что в релизе обнаруживается какая-то ошибка, которая мешает именно вам. Тогде единственный выход из ситуации − взять текущий снапшот и откомпилировать его на своём компьютере, потому что высока вероятность, что именно в снапшоте ошибка уже исправлена. Это даже если не принимать во внимание, что в снапшоте могли ввести какую-нибудь новую возможность.
Возможно кому-то покажетсяя странным, но все снапшоты идут в виде исходного кода. Однако это не вносит каких-либо проблем, т.к. в отличие от многих разработчиков, которые тоже предпочитают выкладывать свои продукты в виде исходного кода, разработчики Lazarus свели телодвижения по сборке к самому минимуму. Фактически, единственное что нужно сделать − это в каталоге с исходниками ввести команду "make". Опять же, в отличие от других разработчиков, здесь не нужно запускать скрипт предварительной настройки сборки "configure", его просто нет. А в комплекте прилагается уже готовый файл "Makefile" на основе команд которого проводится сборка. Однако, как и у всех сложных программных продуктов, у Lazarus существуют свои нюансы. И здесь мы эти нюансы подробно рассмотрим.
Хотя в среде линуксоидов считается хорошим тоном поругать Windows, однако в Windows сборка Lazarus более простое дело, чем в Linux. Но простое только в одном случае − если сборка происходит исключительно на основе WinAPI. Если же вам взбредёт в голову собирать виндовый Lazarus на основе каких-либо других графических библиотек (GTK или Qt), то предварительно придётся устанавливать и настраивать эти библиотеки. И в этом случае ситуация сразу же перестаёт быть благостной. Поэтому такую, прямо скажем, очень редкую ситуацию, мы рассматривать здесь не будем.
Предварительно, в обязательном порядке, должен быть усиановлен компилятор FreePascal. Причём как сам компилятор, так и все его модули и утилиты. В некоторых дистрибутивах FreePascal идёт в виде большого набора пакетов. Устанавливайте их все, даже если вам покажется, что какие-то из них не понадобятся. Можно скачать готовый компилятор с сайта разработчки [2]. Там, наряду с пакетами DEB и RPM, предлагается архив с вложенным в него скриптом "install.sh", который после запуска задаст вам пару тройку вопросов и установит FreePascal, со всеми модулями и утилитами, куда вы ему скажете. Версия FreePascal большого значения не имеет. У всех современных дистрибутивов Linux (и многих BSD), FreePascal тоже современной версии. У некоторых дистрибутивов он может быть и предыдущей версии, но повторюсь, это большого значения не имеет. Если очень нужна именно последняя версия, то компилятор можно взять на сайте разработчиков. И с 99-процентной вероятностью вы там найдёте FreePascal для своего дистрибутива, даже для модных нынче ARM-компьютеров.
В обязательном порядке нужно установить исходники FreePascal. Дело в том, что среда разработки Lazarus будет вам подсказывать продолжение кода именно по исходникам. Такая подсказка − чрезвычайно удобная вешь. Хотя, конечно, если у вас 100% фотографическая память, то может быть исходники вам и не нужны. Я вот, например, без этого никак обойтись не могу.
Рекоммендуется, хотя и не обязательно, установить отладчик "gdb". Вы можете им и не пользоваться, но при первом запуске Lazarus вам попеняет на его отсутствие как на ошибку. Однако абсолютно никаких фатальных последствий его отсутствие не принесёт. Но лучше поставить, пусть будет.
Ещё одна крайне необходимая вешь, правда только для дистрибутивов Linux\BSD − компилятор "gcc". Дело в том, что вместе с этим компилятором устанавливаются некоторые объектные файлы (например "crti.o" и ещё несколько подобных), которые используются при компиляции ваших программ FreePascal'ем. Сам "gcc" при этом не используется. Что касается BSD, то у них компилятором по умолчанию с некоторых пор является "clang", поэтому если вы счастливый обладатель FreeBSD или OpenBSD систем, то проверить наличие нужно именно "clang".
Если вы думаете, что про BSD системы в статье про Lazarus я упомянул исключительно ради красного словца, то вы ошиблись. Между прочим, в отличие от современных Linux'ов, не говоря уж про Windows, BSD системы чрезвычайно трепетно относятся к ресурсам компьютера. И если ваш компьютер не с "ух ты, зашибись!" какими характеристиками, то вместо того что-бы ставить какие-нибудь "легкие" Linux-дистрибутивы, я бы посоветовал поставить BSD и тогда у вас не будет регулярных ситуаций, когда впору ногти изгрызть до самых локтей дожидаясь ответа от компьютера. Естественно под "BSD" я имею в виду что-то вроде Free- или OpenBSD, а вовсе не MacOS, которая мало ирго что требовательна к ресурсам, так ещё и весьма привередлива к конкретным установленным запчастям...
И я искренне надеюсь, что исходный код lazaus [1] вы тоже скачали и распаковали куда-нибудь в свой домашний каталог. Пускай это будет "~/progs/lazarus". В домашнем каталогк вам для компиляции права root не понадобятся, что очень удобно − невозможно будет случайно повредить что-нибудь системное...
Немного про графические библиотеки. Все современные дистрибутивы Linux, если конечно в них предусмотрен графический интерфейс, ставят комплект библиотек и для GTK, и для Qt по усолчанию. Потому что программ сейчас очень много и, условно говоря, половине требуется GTK, а половине Qt. Поэтому в обязательном порядке ставится и тот и другой комплект. С BSD системами всё с точностью наоборот, по крайней мере это касается наиболее распространённых Free- и OpenBSD. Здесь графические библиотеки надо ставить вручную.
Несмотря на то, что GTK для Lazarus является графической библиотекой по умолчанию, с ней требуется наибольшее количество телодвижений. Поэтому после выплнения предварительной подготовки (согласно пункту 3), не торопитесь сразу же запускать "make".
Просто "make" даст нам Lazarus только с малым джентльменским набором самых общеупотребительных компонентов. Если взглянуть на рис. 1, то можно увидеть, что даже закладка компонентов по работе с базами данных сиротливо пуста.
Более-менее полный набор компонентов в Lazarus даст нам запуск "make bigide". Но вот если не поработать предварительно с некоторыми библиотеками, в конце сборки мы обязательно увидим сообщения об ошибках, как на рис. 2.
Самое смешное, что эти библиотеки в вашей системе, с вероятностью очень близкой к 100%, уже установлены. Почему же при сборке Lazarus компилятор их не увидел? Давайте разберёмся...
В таблице 1 представлены те библиотеки которые не нашёл компилятор:
Таблица 1. Библиотеки, которые не нашёл компилятор во время сборки Lazarus
Название выданное компилятором | Реальное название |
---|---|
-lgdk-x11-2.0 | libgdk-x11-2.0.so |
-lgdk_pixbuf-2.0 | libgdk_pixbuf-2.0.so |
-lgtk-x11-2.0 | libgtk-x11-2.0.so |
-lgobject-2.0 | libgobject-2.0.so |
-lglib-2.0 | libglib-2.0.so |
-lgthread-2.0 | libgthread-2.0.so |
-lgmodule-2.0 | libgmodule-2.0.so |
-lpango-1.0 | libpango-1.0.so |
-lpangocairo-1.0.so | libpangocairo-1.0.so |
-lcairo | libcairo.so |
-latk-1.0 | libatk-1.0.so |
Возможно, но необязательно -lX11 | libX11.so |
"libglib-2.0" расположена в каталоге "/lib64" если у вас 64-ёхразрядная ОС или в "/lib", если 32-ух. Все остальные библиотеки надо искать в "/usr/lib64 (/usr/lib)". У некоторых дистрибутивов эти библиотеки находятся во вложенных каталогах, например в дистрибутиве "ASTRA Linux" они лежат в "/lib/x86_64-linux-gnu" и "/usr/lib/x86_64-linux-gnu" соответственно.
Давайте зайдём в каталог "/lib64" (у меня система 64-ёхразрядна) и поищем "libglib-2.0.so", но не по полному названию, а по шаблону, как на рис. 3.
И вот что мы там нашли. Библиотека "libglib-2.0.so" оказалась с "хвостом" ".0.5200.3" после ".so" (см. рис. 4):
Это значит, что компилятор такие "хвосты" не любит. Обычно по этому поводу советуют ставить еще и "devel" версии библиотек. Если вы собираетесь писать GUI-программы на Си\Си++, то это в высшей степени полезный и единственно правильный совет. Однако я, к примеру, этого никогда не делал и добровольно делать не собираюсь. Как решить эту проблему, если не хочу ставить "devel"-пакеты? "Хвосты" библиотекам мы конечно же подрезать не будем (на всякий случай). Мне удалось узнать страшную тайну этих самых "devel"-пакетов − при своей установки, кроме добавления всяких нужных для сборки Си-программ файлов (типа "*.h", "*.a", "*.o" и т.п.), они ещё и делают безхвостый симлинк (символическую ссылку) рабочих библиотек. Так что мы тоже просто сделаем символическую ссылку с правильным названием (см. рис. 5) без всяких установок "devel"-пакетов:
По аналогии нужно провести эту манипуляцию со всеми остальными библиотеками из табл. 1. Кстати говоря это займёт меньше времени, чем поиск по репозиторию соответствующих "devel"-пакетов, а потом их установка. Особо оращаю ваше внимание, что симлинки можно сделать только с правами "root". После этого можно собирать Lazarus:
make bigide
Теперь всё должно пройти без ошибок (см. рис.6):
В каталоге, где запускался "make bigide", появятся два исполняемых файла, которые нам как раз и нужны:
Несмотря на то, что графическая оболочка KDE, которая строится как раз на библиотеке Qt, весьма и весьма серьёзная штука, сборка Lazarus тут намного проще. Дело в том, что в отличие от варианта на GTK компилятор напрямую к библиотекам Qt не обращается, а работает через специальную библиотеку-прослойку "qt4pas" (возможно она будет называться "qt4pas5"). По умолчанию ни в одной ОС Linux она не устанавливается, поэтому её необходимо установить вручную из репозитория вашей ОС.
После установки "qt4pas" необходимо проверить в "/usr/lib (/usr/lib64)" есть ли у неё правильное имя, т.е. без хвоста после ".so". Некоторые ОС при установке делают симлинк (символическая ссылка) с правильным названием (например, ASTRA Linux), а некоторые не делают (например, Simple Linux), поэтому надо обязательно проверить и если симлинка нет, то сделать его с именем "libQt4Pas.so".
Теперь можно компилировать:
make bigide LCL_PLATFORM=qt
Не могу сказать, чтобы Qt так уж кардинально поменял вид приложения (см. рис. 9), если только у вас не стоит какая-нибудь особо изысканая схема для KDE, но теперь ваши графические программы будут совершенно точно иметь KDE-шный вид.
Не все Linux'ы проявляют такую щепетильность к библиотечным "хвостам", как описано выше. К примеру, "Calculate Linux" пользуется программой сборки не "make", а "gmake". Есть у неё, конечно, и "make", но это всего-лишь симлинк на "gmake". Так вот, сборка Lazarus в "Calculate Linux" спокойно проходит и без установки "devel"-пакетов и без ручного симлинкования "хвостатых" библиотек. Поскольку "calculate Linux" является наследницей "Gentoo Linux" я думаю, что и в "Gentoo Linux" такая же благостная ситуация со сборкой Lazarus.
Пожалуй это будет самая короткая глава. Никаких особых подготовок к сборке здесь не нужно. Естественно, при непременном условии, что сборка будет производится на основе WinAPI. В каталоге с распакованым Lazarus нужно набрать:
make bigide
и я пока ещё ни разу не встречался с ситуацией, когда сборка завершилась бы с ошибкой.
Хотя нет, по поводу отсутсвия подготовки я, наверное, слегка погорячился. Дело в том, что в переменной "PATH" непременно должен присутствовать каталог, где расположен компилятор FreePascal:
Несмотря на то, что про системы BSD усиленно распускают всякие ужасающие, прямо таки леденящие кровь слухи, всё это не более чем слухи. BSD вполне ничего себе системочка и доказательством тому служит MacOS, которая в своё время переехала на BSD и теперь сидит там довольная, как кот обожравшийся сметаны. Впрочем, про MacOS я говорить не буду, дабы не подвергнуть нечаянно себя и вас каким-нибудь антилицензионным санкциям.
Пожалуй пара мнений, что может быть правдой про BSD (опять же, исключая MacOS), это меньший уровень русификации по сравнению с Linux и меньший набор драйверов для устройств.
Несмотря на то, что самой популярной (после macOS естественно) BSD системой является FreeBSD, начать я хочу с OpenBSD. Дело в том, что в OpenBSD, в отличие от FreeBSD, графическая система "Xorg" ставится по умолчанию. Правда попытка собрать Lazarus в такой графической системе обречена на неудачу, т.к. отсутствуют и библиотеки GTK, и Qt. Вдобавок, в репозитории OpenBSD отсутствует пакет содержащий библиотеку "qt4pas", без чего даже с установленой системой Qt компиляция Lazarus не удасться.
Поэтому мы сделаем так:
Несмотря на то, что интерфейс установщика OpenBSD не графический, как в Linux'ах, и даже не псевдографический, как во FreeBSD, вопросы, которые он задаёт просты и понятны. В 99,99% случаев можно в качестве ответа просто жать клавишу "ENTER". Однако есть там один момент, на котором хочется остановится особо. Перед распаковкой архивов с системой, установщик задаёт вопрос, нужно ли запускать графическую систему при старте ОС (см. рис. 11, последние два вопроса).
Здесь первый вопрос − нужно ли вообще, в принципе, запускать "X window", а второй − нужно ли это делать автоматически при загрузке ОС. Естественно, на первый принципиальный вопрос мы ответим согласием, а на второй − несогласием. Автоматический запуск мы разрешать не будем по причине того, что административные вопросы, типа настройка программ, установка пакетов, в графическом режиме совершенно не нуждаются. Поэтому запуск графики мы сделаем только для обычного пользователя и только после его залогинивания в систему. Вдобавок этот вопрос имеет, кроме практической подоплёки, ещё и чисто эстетическую. Посмотрите на рис. 12. Видок, прямо скажем, не очень. Здесь из терминала можно запускать разные графические программы, например браузер интернета, но вот реального облегчения работы, когда практически всё делается мышкой, а не набирается командами с клавиатуры, не будет. Автозапуск графики можно сделать потом, когда всё что нужно от администратора будет настроено, установлен радующий глаз рабочий стол и останется только чисто пользовательская работа.
В отличие от FreeBSD, где пакеты из интернета можно устанавливать сразу же после установки ОС, в OpenBSD сначала нужно указать сайт с точным путём к пакетам в специальной системной переменной "PKG_PATH", которая будет содержаться в файле профилей администратора:
echo "PKG_PATH=https://mirror.yandex.ru/openbsd/6.3/packages/amd64/" >> /root/.profile
cho "export PKG_PATH" >> /root/.profile
Вместо "amd64" вы можете поставить свой тип ОС. Так же как вместо версии "6.3" можно указать свой номер версии. Перезаходим в систему, чтобы "PKG_PATH" прочиталась из файла и теперь можно поставить текстовую оболочку "Mdnight commander", чтобы было удобнее управляться с административными делами в текстовом режиме:
pkg_add mc
Запускаем "mc" и приходим в ужас от его внешнего вида:
Снова перезаходим в систему и вот теперь всё красиво и привычно:
Следующий шаг − установка рабочего стола "MATE". Вот список пакетов, без которых совершенно точно не обойтись, всё остальное − на ваше усмотрение:
Если задаться совсем уж минимальным минимализмом, то вполне хватит только двух пакетов − "mate-desktop" и "mate-terminal", т.е. непосредственно рабочий стол с картинкой и терминал, где будем компилировать Lazarus и откуда будем запускать программы. Кствти говоря, в каталоге "lazarus/install" содержится ярлык для запуска Lazarus с рабочего стола. Но, на мой взгляд, это будет уж совсем тоскливое зрелище...
Самый свежий FreePascal в репозитории OpenBSD есть, так что установим его (а заодно и "gdb") стандартным способом:
pkg_add fpc gdb
А вот чего в пакетах нет, так это исходников FreePascal и самого Lazarus − ни готового, ни в исходниках. Поэтому ставим браузер, чтобы потом скачать недостающее с сайта разработчиков:
pkg_add firefox-i18n-ru mozilla-dicts-ru
Теперь приступаем к настройкам запуска "MATE". В каталоге пользователя создаём файл ".xinitrc", в который прописываем следующие заклинания:
export LANG=ru_RU.UTF-8
export LC_ALL=$LANG
setxkbmap us,ru option grp:alt_shift_toggle
exec mate-session
Первые две строчки − это русский язык и непременно в кодировке UTF-8, третья − раскладки клавиатуры и какими клавишами их переключать, последняя − собственно сам запуск "MATE". И добавим ещё в один файлик "/etc/rc.conf.local":
pkg_scripts="dbus_daemon avahi_daemon"
dbus_enable=YES
Проверяем, что там у нас получилось − перезагружаемся, заходим под обычным пользователем и запускаем в терминале:
startx
Русификация, как видно по рисунку, неполная. Но поскольку это самый первый выпуск OpenBSD с рабочим столом "MATE", то сильно придираться не будем. Тем более, что самое главное − русские буквы и русская раскладка клавиатуры − действует.
С рабочим окружением закончили, теперь можно приступать к сборке Lazarus'а. Здесь нас поджидает маленькая непонятка: команда "make" выдаёт, что буквально каждая строчка нашего Makefile это страшная и непоправимая ошибка (см. рис. 17).
По народному рецепту − если ничего не получается, значит пора читать документацию − я внимательно прочитал файл "README.TXT". Там не очень заметно, но всё-таки написано, что для сборки в системах BSD нужно использовать "GNU make", а не просто "make". Оказывается в BSD-системах "просто make" − это "BSD make", который не тоже самое, что и "GNU make". Ну что ж, ставим дополнительный пакет:
pkg_add gmake
Далее набираю в командной строке (не забыв предварительно перейти в каталог с распакованным Lazarus):
gmake clean bigide
и толко наблюдая процесс сборки вспомнил, что не обрубил хвосты у билбиотек путём создания симлинков, что сам же и рекомендовал в пункте 4 про Linix. Однако, к моему большому удивлению, никаких жалоб на отсутствие библиотек не поступило. Держась левой рукой за сердце, дрожащей правой запускаю Lazarus. И Lazarus без вопросов запустился. Судя по рисунку он у меня собран именно в OpenBSD и никак иначе:
На компьютере с 1 ГБ ОЗУ и процессором "Intel Core 2 Duo E6750", 2.6 ГГц, программы работают намного шустрее, это заметно даже невооружённым глазом, чем тот же компьютер с, к примеру, "Simple Linux". Поэтому для малохольных компьютеров, где когда-то стояла, Windows XP, замену лучше производить на BSD, а не на Linux. Linux более приятен глазу, но увы, даже без антивируса нынешние системы слишком уж тяжелы.
Заранее согласен, что возни с настройками здесь больше, чем в Linux, но ведь настройки делаются, в отличие от текущей работы, не каждый день, не так ли?
FreeBSD более ласковая к пользователю система, чем OpenBSD. Она по количеству программ пожалуй не уступает Debian. Правда не все программы хранятся в виде бинарных пакетов, но все общераспространённые программы в бинарниках есть, в том числе и некоторое количество рабочих столов. Поскольку во FreeBSD мы решили использовать библиотеку Qt, то и рабочий стол нужно устанавливать именно на этой библиотеке. KDE (а уж Plasma и подавно) однозначно не подойдёт, т.к. на 1 ГБ памяти мого тестового компьютера можно будет ногти до локтей изгрызть, пока дождёшься результатов от такого в высшей степени продвинутого рабочего стола. К счастью, на базе Qt есть и лёгкие рабочие столы, например LXQT. Вот его мы на FreeBSD и поставим.
В отличие от OpenBSD, в FreeBSD путь к интернет-репозиторию текущей версии ситемы уже находится в файле конфигурации, поэтому сразу же после установки ОС можно приступать к установке пакетов. Опять же, в отличие от OpenBSD, все необходимые манипуляции (поиск, установка, удаление и т.п.) делаются единым пакетным менеджером "pkg". Однако при первом его запуске будет выдано сообщение о том, что система управления пакетами не установлена. И вопрос − нужно ли её устанавливать:
Вопрос не праздный. Исторически сложилось так, что во FreeBSD программы устанавливаются из исходников (в ихней терминологии − из портов). Однако сборка сложных программ из исходников − дело очень долгое, поэтому впоследствие появились пакеты с уже откомпилированными программами. Если согласились на установку пакетного менеджера, то больше подобных вопросов не будет. Довольно часто в конце установки выдаются дополнительные сообщения и рекомендации связанные с устанавливаемыми пакетами. Эти сообщения желательно читать крайне внимательно, т.к. там регулярно бывают дельные мысли. Доказательством этому служит то, что у меня случилось при установке FreePascal.
Окрылённый лёгкостью установки FreePascal в OpenBSD, я надеялся, что в FreeBSD будет так же и установка пройдёт одной командой.
pkg install fpc
Увы, оказалось, что в пакете "fpc" лежат только компилятор и кое-какие системные модули (см. рис. 20). Ни однодного дополнительного модуля больше не было.
В рекомендациях, правда, мне посоветовали поставить "fpc-units", который уже впоследствии, после изучения описания портов, оказался мета-пакетом для дополнительных модулей. Поиски в репозитории показали, что FreePascal здесь разделён аж на 96 пакетов, т.е. каждый дополнительный модуль лежит в отдельном пакете. Нда, тут они переплюнуди даже Debian... Естественно встал вопрос, а как установить эту группу пакетов сразу, ведь кроме модулей потребуются и кое-что дополнительно. Поверхностное решение, типа как вывод имён файлов по маске с помощью "ls ./*" здесь не прошёл − никакие стандартные символы масок не помогали. Пришлось читать документацию. Оказалось, что как при поиске пакетов, так и при их установке можно применять "regexp". Выглядит это так:
pkg install -x "^fpc-*"
Т.е. мы устанавливаем пакеты, которые начинаются с смволов "fpc-", а звёздочка − это любые последующие символы. Причём именно начинаются и именно с чёрточкой, иначе он будут установлены все пакеты, где есть "fpc" в любом месте названия. Или с учётом рекомендаций FreeBSD после установки компилятора, можно сделать так:
pkg install fpc-units fpc-utils
Общий список пакетов, вместе с зависимостями, составил 289 штук. Естественно все те, что выходили за рамки 96 пакетов-модулей были библиотеками, на которые эти модули ссылались − клиентские части БД, звук, OpenGL, GTK, Qt, X11 и т.д. Вот только в этом великолепии оказалась ложка дёгтя − отсутствовала библиотека "qt4pas". Или мантейнеры про неё забыли, или посчитали, что и без неё всё будет хорошо. Ошибочка, однако, пришлось устанавливать её дополнительно, а заодно и "GNU make" без которог не обойтись:
pkg install qt4pas gmake
Теперь можно приступать к установке рабочего стола. Надо сказать, что напрасно я надеялся на то что предыдущая установка, заодно с библиотеками GTK, Qt и X11 поставит мне сервер "Xorg". Видимо опять мантейнеры посчитали, что графические библиотеки и графический сервер − это разных полей ягоды. Наученый предыдущим горьким опытом я сначала решил изучить пакеты в описании портов на официальном сайте [3] FreeBSD которые существуют там по этому поводу. И если с "Xorg" всё оказалось в порядке, то с "LXQT" − совсем нет. Под этим именем в стандартном репозитории существует только набор библиотек "lxqt", а вовсе не сам рабочий стол. Пришлось подключать дополнительный репозиторий.
Сначала нужно скачать файл сертификата:
fetch http://lxqt-freebsd.schmitz.computer/poudriere.cert
в каталог "/usr/local/etc/ssl/certs/". Если такого каталога нет, его нужно создать. Теперь можно подключать репозиторий. Для этого в файл "/usr/local/etc/pkg/repos/lxqt.conf" записываем такие заклинания:
lxqt: {
url: "pkg+http://lxqt-freebsd.schmitz.computer/packages/${ABI}",
mirror_type: "srv",
enabled: yes,
signature_type: "pubkey",
pubkey: "/usr/local/etc/ssl/certs/poudriere.cert",
priority: 100
}
Теперь можно устанавливать графический сервер, рабочий стол, а заодно и браузер:
pkg install xorg lxqt firefox
Добавляем в главный конфигурационный файл "/etc/rc.conf":
dbus_enable="YES"
hald_enable="YES"
Ещё в интернете рекомендуют добавить:
moused_enable="YES"
правда у меня мышка в графическом режиме и так заработала. Теперь перезагружаемся, снова заходим под root'ом и запускаем "Xorg" для создания конфигурационного файла:
Xorg -configure
после чего в каталоге "/root" появится файл "xorg.conf.new", который нужно скопировать в "/etc/X11" с именем "xorg.conf". В дальнейшем этот файл можно подкорректировать. Например, если на вашем компьютере установлена видеокарта "NVIDIA", то можно установить соответствующий драйвер, который есть в стандартном репозитории, и прописать это дело в "/etc/X11/xorg.conf" в секцию "Device", которая отвечает за видеокарту, в параметр "Driver".
Теперь перезаходим под обычным пользователем и запускаем "startx". Вот что в результате получается:
Так же как и рабочий стол "MATE" в OpenBSD, "LXQT" русифицирован не до конца. Однако, как и в предыдущем случае, русские буквы выводятся без проблем, раскладка клавтатуры переключается. Да и сам рабочий стол довольно шустрый несмотря на сильно куцые, по сегодняшним меркам, ресурсы компьютера. Теперь можно приступать к сборке Lazarus, если, конечно, вы его не забыли скачать:
gmake bigide LCL_PLATFORM=qt
и получаем Lazarus под FreeBSD:
Если вы, как и я, любитель экзотики, то можно поработать в Lazarus на когда-то безумно популярной ОС "Solaris" (непременно вспоминая Станислава Лема). Конечно деньги на коммерчесткую версию мы тратить не будем, а возмём современную наследницу OpenSolaris - OpenIndiana Hipster [4] (далее я буду называть её просто Hipster).
Скачаный iso-образ Hipster представляет из себя Live-DVD, поэтому её можно использовать без установки, дабы испытать, можно ли ею пользоваться вообще. Установка системы так же производится из сеанса Live-DVD. Перед загрузкой Hipster спросит, какой язык использовать. Нужно обязательно выбрать "Русский" (он в списке под номером 19), в противном случае русификация уже установленой системы будет не в меру сложновата. А так с самого начала будет русский язык, что очень удобно.
Сразу предупреждаю, что как и Solaris, Hipster − система серьёзная, поэтому для минимальной графической рабочей станции она не сильно подходит. Оперативную память желательно иметь не менее 2 ГБ, но лучше 3 или 4, а уж дальше − на ваш выбор.
Русификация системы намного лучше, чем это было в Open- или FreeBSD (см. рис. 23).
Первое, что нужно сделать после установки − обновить базу данных пакетного менеджера, который точно такой же, как и в FreeBSD.
pkg update
Без обновления вы мало что сможете найти в репозитории. При смене пользователя на "root" система вас сразу же попросит сменить пароль, причём к выбору пароля здесь относятся весьма серьёзно − должны быть и буквы и цифры.
После обновления необходимо сразу же перезагрузиться и только после перезагрузки можно будет заниматься установкой других программ. Сначала попробуем поискать в репозитории FreePascal. Надежды, конечно, мало, но мало ли...
pkg serach fpc
pkg serach freepascal
Увы нам всем, результаты поиска нулевые. Однако расстраиваться не стоит, FreePascal (а заодно и Lazarus) можно скачать с сайта разработчиков в подразделе "solaris". При установке с помощью скрипта "install.sh", который идёт в архиве, посыпались предупреждения, что метки времени файлов неправильные, однако на работоспособность "fpc" это не повлияло. Правда при попытке откомпилировать тестовую программу на FreePascal выяснилось, что в системе отсутствует компоновщик "gld". Это заставило подозревать, что в системе отсутствуют вообще какие-либо компиляторы, в частности "gcc". Так оно и оказалось. Устанавливаем:
pkg install developer/gcc-7
Писать название пакета нужно именно в такой форме − нужно указывать подраздел, где находится пакет, ибо разные версии пакета могут быть в разных подразделах. И в случае "gcc" нужно указать версию компилятора, т.к. в репозитории содержится несколько версий "gcc".
Настоятельно рекоммендую, прежде чем устанавливать
какую-либо программу, узнать информацию о том, в каком подразделе
содержится нужный вам пакет с помощью "pkg search Пакет"
, т.к. не
исключено, что пакеты с одним названием будут находиться в разных
подразделах и отличаться каким-нибудь нюансом, а так же одно и то же
название пакета может быть в нескольких версиях.
Вот теперь компиляция проходит успешно:
Не забудьте установить "gdb":
pkg install developer/debug/gdb
Теперь можно приступать к сборке Lazarus:
gmake bigide
И вот что получилось:
Как видно, разработчики FreePascal и Lazarus − большие молодцы! Этими продуктами можно пользоваться даже в тех ОС, где они не планировались. Сборка Lazarus из исходников тоже не такая уж и сложная штука. Конечно, по сравнению с просто установкой готовой программы, это выглядит сложновато, но разработчик, который сам собирает свои программы, не должен испытывать по этому поводу никаких проблем.
BSD-системы несмотря на свою, казалось бы, неориентированость на простого пользователя, в плане сборки Lazarus оказываются куда проще Linux. Да и сделать на их основе простенькую графическую рабочую станцию, вовсе не проблема.