Мои впечатления
Сборка под WindowsПо умолчанию,
fpcup скачивает сначала сорцы с svn-репов в папку
c:\development. Потом компилит fpc, сам lazarus, лишь потом собирает в готовый экзешник (я пользовался
fpcupgui.exe). Собирает (вкупе с закачкой сорцов) долго - около 30-40 мин. Для сокращения времени сборки, можно в
c:\development заранее положить папки с fpc и лазарусом, скачанные svn-клиентом (обе должны содержать папку .svn с соответствующим содержимым), иначе fpcup их просто проигнорирует.
Для начала сборки необходим файл
settings.ini вида
- Код: Выделить всё
...
[general]
; Full FPC+Lazarus download & compile
; Here use FPC trunk instead of the default fixes version:
fpcurl=http://svn.freepascal.org/svn/fpc/trunk
и т.д.
(в котором можно выбрать тип сборки: "Full FPC+Lazarus download & compile", "Update" и др.), который генерится самим
fpcupgui.exe из
fpcup.exe автоматом, если тот лежит рядом. Параллельно генерится и
fpcup.ini вида
- Код: Выделить всё
; Available macros:
; $(FPCDIR) Base directory for FPC installation
; $(LAZARUSDIR) Base directory for Lazarus installation
; $(LAZARUSPRIMARYCONFIGPATH) Path where configuration for Lazarus is stored
; ... and you can define your own, like below:
[ALIASfpcURL]
2.7.1=http://svn.freepascal.org/svn/fpc/trunk/
trunk=http://svn.freepascal.org/svn/fpc/trunk/
и т.д.
т.е. этот инишник содержит пути к сорцам, которые будут установлены в лазаре. Если все оставить по умолчанию (на момент написания поста), то получим на выходе последний релиз Лазаря и компилятора
Вся дока есть
тут. Там же показаны полностью оба ini-файла, о которых я упомянул выше.
Кстати, все настройки Лазаря хранятся в этой же папке
c:\development\config_lazarus. Такая сборка "не мусорит" в реестре и позволяет удалить все следы Лазаря простым удалением папки.
Сборка под LinuxОх уж этот линукс!
В качестве испытуемых поставил в виртуалку
Debian 7.6,
Fedora 20 и
Ubuntu 14.04. Пусть маститые знатоки никсов меня заботливо поправят, если что из ниже написанного не соответствует действительности - я лишь описываю свой маленький опыт.
По умолчанию
fpcup собирает все папки по этому пути ~/development (где ~/ - это /home/<user> - ваша домашняя директория). Если есть желание изменить пути, то см. примечание ниже.
Помятуя о танцах с бубном при установке приснопамятного CodeTyphon, решил сразу же поправить файлик sudoers, чтобы не муд;%:?ся в консоли с лишними командами типа
sudo - Код: Выделить всё
<user>@debian:~$ su
<user>@debian:~$ gedit /etc/sudoers
после строки
root ALL=(ALL) ALL добавил следующую
<user> ALL=(ALL) NOPASSWD:ALL (естественно, <user> - имя учетки). После чего сохранил файл и перелогинился в системе (можно перезагрузиться).
Установка транковой (самой последней версии) fpc и lazarusНаходим и ставим через Synaptic следующие пакеты (олдфаги пользуются командной строкой, поэтому эту писанину не читают
)
1. binutils (утилиты для сборки fpc)
2. make (утилиты для сборки fpc)
3. gdb (в Fedora уже стоит по умолчанию) - отладчик для fpc
4. gcc (компилятор С для линковки пакетов)
5. subversion (svn-клиент)
6. для сборки lazarus требуют дополнительные пакеты:
libX11.so,
libgdk_pixbuf-2.0.so,
libpango-1.0.so и
libgdk-x11-2.0.so. Первые три пакета нашлись и установились через менеджер пакетов Synaptic (в строке поиска задать
libX11,
libgdk и
libpango соответственно и отметить еще не установленые пакеты), а вот четвертый пакет "нашелся" в составе
libgtk2.0 (как правило, все пакеты имеют суффикс -dev).
Запускаем, как и было
присоветовано - Код: Выделить всё
<user>@debian:~/development/fpcup$ chmod u+rx fpcup_linux_x86
<user>@debian:~/development/fpcup$ ./fpcup_linux_x86
Все, ждем, пока Лазарь будет установлен. Особо нетерпеливые или сомневающиеся могут наблюдать за процессом установки, мониторя файл
fpcup.log, который у меня "нашелся" здесь
/home/<user>примечание: можно рассовать компилятор и Лазарь по своим папкам, задав параметры. Например, я запустил fpcup так:
- Код: Выделить всё
./fpcup_linux_x86 --lazURL=http://svn.freepascal.org/svn/lazarus/trunk --fpcURL=http://svn.freepascal.org/svn/fpc/trunk --fpcdir=~/lazarus_1_3/fpctrunk --lazdir=~/lazarus_1_3 --primary-config-path=~/lazarus_1_3/laz_config_fpc_2_7_1 --lazlinkname=lazarus_1_3 --binutilsdir=~/lazarus_1_3/fpcbootstrap_271/bin --fpcbootstrapdir=~/lazarus_1_3/fpcbootstrap_271
в результате получил транковый fpc и Лазарь в папке Lazarus_1_3 (на скрине получилось то, что ставится при запуске fpcup_linux_x86 без параметров). То же справедливо и для Windows (с поправками на пути)
У этого способа есть
огромный недостаток: лазарь "не видит" некоторые пакеты fpc, поэтому code comletion использовать не удастся. Я
поднимал эту тему, но проблема так и не была решена.
Т.о. образом, этот способ пока годится для компиляции уже готового проекта.
Установка последней стабильной версии fpc и lazarusВот тут никаких проблем.
1. Ставим пакет gdb (см. выше п.3)
2. Скачиваем три deb-пакета, например
отсюда: fpc-src_2.6.4-140420_i386.deb, fpc_2.6.4-140420_i386.deb и lazarus_1.2.4-0_i386.deb.
Ставим эти пакеты именно в такой последовательности (правым мышом по пакету, выбираем меню "Установка с помощью Программа установки пакетов" - запустится
gdebi - с нужными кнопками разберется любой. Про олдфагов опять промолчу
).
Все, Лазарь готов к употреблению (ставится сюда /usr/share/lazarus/1.2.4 - версия может быть другая).