Lazarus сборка под linux

Lazarus сборка под linux

Итак, наконец-то я добрался и до кросскомпиляции. Не то, чтобы мне было это сильно надо (я по-прежнему считаю, что надежнее собирать проект на той ОСи, для которой он предназначен), но тут просто стало интересно. Про кросскомпиляцию на Wiki (особенно под Windows) рассказано в довольно общих чертах и не добавляет ясности в этом вопросе 🙂

Различают Host-платформу (сборка Лазаруса, на которой собирается проект) и Target-платформу (ОСь определенной разрядности, для которой собирается проект). Я опишу процесс сборки кросскомпилятора для Linux_i386 (Target) на win-x32 сборке Лазаруса (Host) и для Windows x32 (Target) на линуксовой i386 сборке Lazarus.

1. Кросскомпиляция на Windows.

1. Для начала скачиваем отсюда и запускаем последний релиз замечательной программки fpcupdeluxe нужной разрядности и соответствующей ОСи

2. Определяем директорию, куда будут скачаны исходники и собраны бинарные файлы (напр., D:\Archive\development\fpcup)
3. В окне «FPC version» выбираем «trunk» и жмакаем кнопку «Only FPC» (если Lazarus у вас еще не установлен, можно установить заодно и его, выбрав соответственно тип сборки в окне «Lazarus version» и нажав «Install/Update FPC + Laz»)

4. После установки FPC (и Лазаруса, если его не было) необходимо скачать сорцы и библиотеки, а также и скомпилировать бинарники для кросскомпиляции

Выбираем требуемую разрядность и ОСь (напомню, я задался целью собрать кросскомпилятор для Linux-i386) и жмем кнопку «Install cross-compiler».

В процессе закачки и последующей сборки fpcupdeluxe ругнется на отсутствие утилит для сборки кросскомпилятора и предложит их скачать («The building of a crosscompiler failed due to missing cross-tools. Fpcupdeluxe can try to download them if available! Do you want to continue?»)

Соглашаемся и повторяем процесс сборки. Он довольно длительный по времени, поэтому стоит запастись терпением. По окончанию процесса в информационной панели можно будет увидеть, куда установились бинарники кросскомпилятора:

5. Теперь настраиваем Лазарус. Забегая вперед, скажу, что для кросскомпиляции лучше использовать отдельную сборку среды, чтобы не мучиться с переключением (как сделать, чтобы IDE сохраняла настройки в «своей» папке).

Для указания путей к бинарникам открываем настройки Tools —> Options —> Environment —> Files

  • для Compiler executable выбрать D:\Archive\development\fpcup\fpc\bin\i386-win32\ppcross386.exe
  • для FPC source directory выбрать D:\Archive\development\fpcup\fpcsrc
  • для «Make» executable выбрать D:\Archive\development\fpcup\fpc\bin\i386-win32\make.exe

Для настройки отладчика идем сюда Tools —> Options —> Environment —> Debugger

  • выбрать GNU debugger (gdb)
  • выбрать путь D:\Archive\development\fpcup\fpcbootstrap\gdb.exe

Закрываем окно с настройками среды.

6. И, наконец, создаем новый проект, открываем его настройки Project —> Project Options —> Compiler options —> Paths, где указываем путь к библиотекам для сборки проекта

  • для Libraries (-Fl) выбрать d:\development\fpcup\cross\lib\i386-linux (отобразится ..\..\..\development\fpcup\cross\lib\i386-linux)

Указываем целевые ОСь и разрядность процессора, для которых компилируется проект Project —> Project Options —> Compiler options —> Congig and Target

  • для Target OS (-T) выбрать Linux
  • для Target CPU family (-P) выбрать i386
Читайте также:  Сравнение ядра linux windows

Если после указания Libraries (-Fl) автоматически не установилась ссылка на виджеты Target-ОСи, то устанавливаем их вручную Project —> Project Options —> Compiler options —> Additions and Overrides

  • в комбобоксе «LCLWidgetType» выбрать «Value «GTK2».

Теперь компилируем проект (лучше по + , иначе получим формальную ошибку отладчика). В окне сообщений после окончания процесса сборки получаем положительный результат

Проверяем полученный бинарник на целевой ОСи

2. Кросскомпиляция на Linux.

В качестве линуксовой ОСи я опишу установку на Debian 9. Рабочей директорией для fpcupdeluxe будет /home/leyba/development/fpcup.

1. Устанавливаем svn-клиент, если он еще не установлен
2. Если у вас не установлены пакеты для компиляции Lazarus, то сначало будет выдано предупреждение об отсутствии отладчика

fpcupdeluxe: WARNING: LazarusNativeInstaller (ConfigModule: lazarus): No GNU gdb found./home/leyba

а затем fpcupdeluxe прервет установку с сообщением об отсутствии библиотек

(9015) Linking ../lazarus
/usr/bin/ld: cannot find -lgdk-x11-2.0
/usr/bin/ld: cannot find -lX11
/usr/bin/ld: cannot find -lgdk_pixbuf-2.0
/usr/bin/ld: cannot find -lgtk-x11-2.0
/usr/bin/ld: cannot find -lpango-1.0
/usr/bin/ld: cannot find -lcairo
/usr/bin/ld: cannot find -lpangocairo-1.0

Поэтому последовательно качаем
и ставим пакет x11proto-print-dev
Затем и остальные пакеты одной строкой
(для Debian 9)
3. Ставим компилятор (и если необходимо, то и Lazarus) аналогично тому, как это описано для Windows

4. Теперь устанавливаем кросскомпилятор аналогично описанному для Windows, но с той разницей, что нужно будет выбрать опции CPU = i386, OS = Windows

5. Открываем настройки Lazarus Tools —> Options —> Environment —> Filesи устанавливаем следующие опции

  • для Compiler executable выбрать /home/leyba/development/fpcup/fpc/bin/i386-linux/fpc.sh (установлено по умолчанию)
  • для FPC source directory выбрать /home/leyba/development/fpcup/fpcsrc (установлено по умолчанию)
  • для «Make» executable выбрать /usr/bin/make (установлено по умолчанию)

6. Для указания отладчика идем сюда Tools —> Options —> Environment —> Debuggerи устанавливаем опции

  • выбрать GNU debugger (gdb)
  • выбрать путь /usr/bin/gdb (установлено по умолчанию)

7. Создаем новый проект и в опциях проекта Project —> Project Options —> Compiler options —> Congig and Targetуказываем ОСь и разрядность CPU

  • для Target OS (-T) выбрать Win32
  • для Target CPU family (-P) выбрать i386

а также набор виджетов (напомню, мы планируем создать кросскомпиляцию приложения для win_x32) — идем сюда Project —> Project Options —> Compiler options —> Additions and Overrides

  • в комбобоксе «LCLWidgetType» выбрать «Value «win32»

Все, теперь можно сохранить проект, а затем скомпилировать его по + (но не запускать по — получите ошибку отладчика!)

Проверяем полученный бинарник на целевой ОСи

Как можно заметить, кросскомпиляция на линуксе во многом проще, чем на Windows.

Источник

Установка Lazarus под Linux

16.03.2008
Костин Иван (shtorman@mail.ru)

Предисловие

В попытках установить и настроить Lazarus можно разбить лоб и сломать клавиатуру, но теперь можно обойтись и без членовредительства. Большинство материала по установке среды основывается на советах с форумов, а так же материалов на иностранном языке, статей же описывающих алгоритм установки и «тюнинга» единицы. После недели кропотливых трудов представляю Вам статью по установке среды разработки Lazarus и настройке русского языка в ней. Установка проводилась в ОС Mandriva 2008 LAR Edition из rpm-пакетов. Статья стала результатом прочтения таких статей как:

  • Установка Lazarus и Free Pascal Compiler в Linux и Windows (26.08.2004 Смирнов Сергей)http://freepascal.ru/;
  • Lazarus IDE(Ivan A-R 11.10.2006 16:51)http://iar.spb.ru/.

Ссылки на ресурсы


Установка

Перед установкой самой среды разработки Lazarus, необходимо установить следующие пакеты:

  • fpc-2.2.0-0.i386.rpm — компилятора FPC;
  • fpc-src-2.2.0-071105.i386.rpm – исходники FPC.

После этого можно запустить установку lazarus-0.9.24-0.i386.rpm. В ходе проверки зависимостей, инсталятор попросит доустановить еще несколько пакетов:

Все они есть на инсталяционном диске Mandriva 2008 LAR Edition.

В результате установки в Меню KDE, в разделе Разработка->Среды разработки, появиться пункт Lazarus.

Запуск Lazarus

При запуске в интерфейсе программы мы вместо названий пунктов меню наблюдаем иероглифы:


Рис. 1. Первый запуск среды Lazarus после установки.

В общем виде командная строка должна выглядеть так:

Теперь окно приложения выглядит более сносно, есть русский текст, но выполнять такие манипуляции каждый раз не очень удобно.


Рис. 2. Запуск среды Lazarus после установки языковой локалии в русский текст.

При дальнейшем рассмотрении все же не отображаются русские символы в заголовках форм, и в некоторых других формах самой среды попрежнему отображаются иероглифы.


Рис. 3. Проблемы с отображением русских символов в заголовке форм

Сборка Lazarus

Для решения этих проблем необходимо пересобрать Lazarus с поддержкой необходимого интерфейса (gtk, gtk2, win32/win64, qt, carbon . ).

Для этого открываем меню Интерфейс->Настройка сборки Lazarus


Рис. 4. Окно «Настройка сборки Lazarus»

Переключившись на вкладку «Расширенные параметры сборки» можно настроить то, что мы будем cобирать, а что нет, и с использованием какого интерфейса.


Рис.5. Вкладка «Расширенные параметры сборки»

Сборка Примеров не является жизненно важной для среды разработки в целом, но занимает время. Так, что сборку примеров можно отключить, если они понадобятся их можно будет собрать позднее. Здесь мы выбираем gtk 2 и отключаем Примеры (Action = None).

После чего нажимаем «Собрать».

Ошибки в ходе сборки Lazarus

В ходе сборки может возникнуть ошибка:

/usr/bin/ld: cannot find-lgdk_pixbuf-2.0

/usr/lib/lazarus/ide/lazarus.pp(114,1) Error: Error while linking

Для решения проблемы необходимо установить пакет libgdk_pixbuf2.0_0-devel, который потребует установку следующих пакетов:

В ходе сборки может возникнуть ошибка:

/usr/bin/ld: cannot find-lgtk-x11-2.0

/usr/lib/lazarus/ide/lazarus.pp(114,1)Error: Error while linking

Для решения проблемы необходимо установить пакет libgtk+2.0_0-devel, который потребует установку следующих пакетов:

Заключение

После удачной сборки Lazarus перезапуститься. Закройте приложение и запустите его самостоятельно из Меню КДЕ, Разработка->Среды разработки, пункт меню Lazarus.


Рис.6. Окно среды Lazarus после сборки с gtk 2.

Источник

Getting Lazarus/ru

Contents

Загрузка и установка релизной версии Lazarus

Из SourceForge

Бинарные выпуски для различных платформ доступны через площадку Lazarus Sourceforge.

Для тех, у кого заблокирован SF, релизы Lazarus от Sourceforge отзеркалированы на:

Конкретные для платформы

Получить Lazarus для Windows — используйте ссылку Sourceforge выше.

Получение SVN клиента

TortoiseSVN клиент

Клиент TortoiseSVN предназначен только для Windows. Вы можете скачать его с http://tortoisesvn.tigris.org/.

Прим.перев.: На момент перевода статьи загрузить TortoiseSVN можно здесь. Также можно скачать и установить руссификаторы для x32 и x64 версии программы.

Приятным бонусом к руссификатору идет и русская справка в chm-формате

Эта страница демонстрирует, как загрузить и обновить исходный код Lazarus SVN, но таким же образом его можно использовать для исходного кода FPC.

Другие клиенты

Клиент командной строки SVN доступен на официальном SVN веб-сайте для многих платформ.

В Linux рекомендуется установить subversion, используя систему управления пакетами, предлагаемую вашим дистрибутивом. Например:

Получение Lazarus с сервера Subversion

Версия Lazarus для разработчиков

Чтобы получить Lazarus в первый раз, используйте командную строку:

Тогда в текущем каталоге создастся новый каталог «lazarus».

Исправленная ветка последней версии Lazarus

Это даст вам последний релиз плюс все коммиты с исправлением ошибок с тех пор. На момент написания статьи последний [стабильный] релиз 1.8.x.

Позже просто замените последнюю числовую часть номерами последней версии.

Обновление исходников позже

Откройте терминал/командную строку, перейдите в каталог lazarus и введите:

Используйте вышеупомянутые URL с другими клиентами SVN и обновляйте команды соответственно.

Чтобы скомпилировать среду, см. Сборка и запуск Lazarus.

Сценарии

Существуют скрипты для Windows и Linux для автоматизации загрузки и сборки Lazarus: Scripts for Lazarus

Сборка и запуск Lazarus

См. Installing Lazarus — подробное руководство по установке.

Использование командной строки

Lazarus поставляется с автоматически сгенерированным Makefile (с именем «Makefile») для утилиты gnu «make«.

Предупреждение: Если у вас также установлены инструменты Embarcadero (или Borland), их «make» может конфликтовать с gnu «make». В этом случае вы можете либо удалить или переименовать конфликтующий двоичный файл Embarcadero, либо удалить его каталог из Windows PATH, либо задать путь в консоли перед вызовом make:

make позволяет легко компилировать Lazarus из командной строки. Сначала вам нужно установить и настроить fpc и fpc-пакеты.

Для компиляции перейдите в каталог Lazarus в вашем терминале и наберите

Это должно пересобрать LCL и Lazarus IDE с установленными базовыми пакетами.

Еще одна полезная команда

, которая добавляет те же пакеты, что и в версии выпуска.

Затем вы можете запустить Lazarus из той же исходной директории с помощью команды «lazarus» (в системах Unix «./lazarus»).

Если вы хотите запустить несколько версий, вы можете настроить lazarus на использование определенных каталогов конфигурации с помощью параметра —pcp, например, :

Цели Make

Помощь по make

Чтобы просмотреть список доступных целей для make, наберите make help. Примечание: «make help» существует с [версии Лазаруса] 1.0. Вот вывод команды «make help«:

Параметры Make

Существуют дополнительные параметры, которые могут использоваться [утилитой] make Lazarus’а. Смотрите полностью рабочий пример выше.

%compiler_switches передается каждому вызову fpc. Опция полезна для уточнения установок

создает LCL и ide с предопределенным NoGdkPixBufLib и отладочной информацией dwarf2.

%platform является целью widgetset. Это может быть win32,wince,gtk,gtk2,qt,carbon,cocoa,customdrawn.

Пересобирает LCL и IDE с виджетом gtk2

% compiler_path — это путь + имя файла к пользовательскому двоичному файлу компилятора, с которым вы хотите создать цель.

Версии разработчика из репозитория Git

Git mirror официального хранилища SubVersion поддерживается на GitHub. Это зеркало синхронизируется каждые 15 минут с хранилищем SubVersion. Для получения дополнительной информации по скачиванию Git и клонированию репозитория Lazarus перейдите по этой ссылке: Git Mirrors. Вы также можете использовать git напрямую с сервером SubVersion, используя ссылку git-svn. Подробности смотрите в Lazarus git-svn.

Просмотр исходников репозитория с помощью веб-браузера

Содержимое архива SVN также можно просматривать с помощью веб-браузера через интерфейс this viewcvs .

Распространение Lazarus

Есть несколько неофициальных сайтов, где вы также можете найти Lazarus и Free Pascal:

  • Дистрибутив getlazarus объединяет передовые версии Lazarus с простыми в использовании установочными сценариями для нескольких платформ и дополнительными компонентами.
  • FreeSparta — коммерческий дистрибутив Lazarus для Windows.
  • В Austrian University of Applied Sciences вы можете заполучить Ubuntu LiveCD, размещающемуся по этому адресу, а файл md5sum находится здесь.
  • CodeTyphon включает Lazarus с дополнительными пакетами и компонентами.
  • LiteZarus это дистрибутив Lazarus, предназначенный для разработки проектов, не относящихся к LCL.
  • Lazarus доступен на компакт-дисках и USB-накопителях в магазине Blaise Pascal Magazine.

Источник

Читайте также:  Почему не появляется значок windows 10
Оцените статью