Lazarus & предустановленные компоненты

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Lazarus & предустановленные компоненты

Сообщение AShen »

Вопрос такой: хотелось бы в бинарный rpm укладывать компоненты, отсутствующие в стандартной поставке lazarus'а. Например такие, как RXFPC и иные. Где и что почитать, может кто расскажет, что и как делать.

2 Лагунов Алексей: как можно с вами связаться? а то я потерял ваш e-mail.
SergKam
постоялец
Сообщения: 251
Зарегистрирован: 16.11.2005 20:31:11
Откуда: Украина,Харьков

Сообщение SergKam »

Да никак. Lazarus необходимо компилить при установке компонентов.Невозможно сделать бинарные пакеты части лазаруса.
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

2 SergKam: ты не понял вопроса. Мне не нужно бинарные части лазаря, без него ... ;) Мне нужно, что бы после сборки лазаруса, например командой make, в нём уже стояли мои компоненты.
Куда их ложить, где и что прописывать, я уже понял. Теперь осталось разобраться с fpcmake и по чему он у меня ругается:
-(ashen@oasu3)-(~/work/pascal/lazarus/components/rxfpc)-> fpcmake -pw -Tlinux
Processing Makefile.fpc
Error: Target "linux", package "rtl" not found
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

Вот теперь вылезла такая ошибка:
Compiling rxnew.pas
Compiling rxlookup.pas
Compiling dbutils.pas
Compiling rxdconst.pas
Compiling vclutils.pas
vclutils.pas(129,52) Fatal: Can't find unit AppUtils
Fatal: Compilation aborted

2 Лагунов Алексей: как её обойти? Не много покопался в инете, и выяснил, что подобная ошибка возникала при установке/компиляции RX275D6 под WinXP ...
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

Может по иному заданный вопрос внесёт большую ясность.
Вопрос:
Имеем компоненты в каталоге /lazarus/components/
После компиляции лазаря не все компоненты из этого каталога установлены в IDE, но зато они есть в списке доступных и готовых для установки. Как сделать, что бы эти компоненты после компиляции были уже установлены, а не только доступны для установки? Собирает и упаковывает то у меня робот, а не человек ...
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

в этом замешены вот эти файлы

Код: Выделить всё

\lazarus\environmentoptions.xml
\lazarus\idemake.cfg
\lazarus\includelinks.xml
\lazarus\inputhistory.xml
\lazarus\miscellaneousoptions.xml
\lazarus\packageeditorlayouts.xml
\lazarus\packagefiles.xml
\lazarus\staticpackages.inc


установи пакетик визуально и посмотри что там меняется.
есть чувство что нужны только idemake.cfg и staticpackages.inc
Аватара пользователя
alexs
долгожитель
Сообщения: 4068
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

AShen
А ты установил пакет Rx - он идёт в комплекта Lazarus - без него никак
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

2 Alexs: Это я уже понял. Вот и хочу, что бы идущие с лазарем все компоненты, после компиляции сразу были встроены в ide ...

В lazarus/docs есть такой файлик BigIDE.txt вот сижу и пытаюсь его понять:
How to add a package to the big IDE:

Make the package cross compilable: The output path should be something like
lib/$(TargetCPU)-$(TargetOS)

Enable the package compiler option 'Create Makefile' and compile the package
once in the IDE to create the Makefile and Makefile.fpc.
Add them to svn.


Search in the following files for 'big' and add needed things:

ide/Makefile.fpc Unitpaths and flags
components/Makefile.fpc package directories
ide/lazarus.pp package names


Do not forget update the ide/Makefile and components/Makefile.

Compiling the bigide:

make bigide - to compile everything
make idebig - to compile only the IDE using the bigide components
make bigidecomponents - compile only the bigide components

Но видать что то не доходит до меня ...
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

запускаем лазарус открываем пакет interbase
заходим в опции компилятора делаем аутпут

Код: Выделить всё

lib/$(TargetCPU)-$(TargetOS) 


ставим галочку создать MakeFile

ставим установить, смотрим что ставится.

теперь делаем чтоб это шло автоматом

Код: Выделить всё

nano components/Makefile.fpc

добовляем

Код: Выделить всё

        $(MAKE) -C interbase



Код: Выделить всё

nano ide/lazarus.pp

добовляем в uses после "{$IFDEF BigIDE}"

Код: Выделить всё

interbaselaz,


Код: Выделить всё

nano ide/Makefile.fpc

после "BIG_IDE_OPTIONS=-dBigIDE $(LAZARUS_LIBPATHS) \"
добавляем

Код: Выделить всё

 -Fu../components/interbase/lib/$(CPU_TARGET)-$(OS_TARGET) \


обновляем Makefile`лы

Код: Выделить всё

fpcmake -pw ide/Makefile.fpc
fpcmake -pw components/Makefile.fpc


делаем

Код: Выделить всё

make bigide
и видим что interbase у нас стоит.
Последний раз редактировалось Attid 08.06.2007 22:19:28, всего редактировалось 2 раза.
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

Attid писал(а):ну почти по русски все написанно.
запускаю лазарус открываю пакет interbase
заходим в опции компилятора делаем аутпут

Код: Выделить всё

lib/$(TargetCPU)-$(TargetOS) 

ставим галочку создать MakeFile

ставим установить, смотрим что ставится.
идем в components/Makefile.fpc
добовляем

Код: Выделить всё

        $(MAKE) -C interbase



Ну такое и я делал

Attid писал(а):идем в ide/lazarus.pp в uses после {$IFDEF BigIDE}
добовляем

Код: Выделить всё

interbaselaz,



А вот тут я не туда полез ... :)

Attid писал(а):а вот дальше обман чтоб работало
идем в ide/Makefile (!!!)
после

Код: Выделить всё

BIG_IDE_OPTIONS=-dBigIDE $(LAZARUS_LIBPATHS) \

добавляем

Код: Выделить всё

 -Fu../components/interbase/lib/$(CPU_TARGET)-$(OS_TARGET) \


делаем

Код: Выделить всё

make bigide
и видим что interbase у нас стоит.


хотя наверно зря я грешу на ошибку
как правельно сделать это ?
Do not forget update the ide/Makefile and components/Makefile.

или точнее как из Makefile.fpc создать Makefile ??

[/quote="Attid"]

"Элементарно, Ватсон!" (с) Шерлок Холмс. :D

fpcmake -pw

и будет тебе makefile и полное счастье ... :)
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

2 Attid: сделал с interbase так, как ты сказал и получаю:

Compiling interbaselaz.pas
Compiling registerinterbase.pas
lresources.pp(25,64) Fatal: Can't find unit Interbase
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

подправил сообщение еще раз попробуй
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

Attid писал(а):теперь делаем чтоб это шло автоматом

Код: Выделить всё

nano components/Makefile.fpc

добовляем

Код: Выделить всё

        $(MAKE) -C interbase



Вот только одно но ... что за программа nano и от куда ты её взял?
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

ну можно vim =)
просто в бубунте это стандартный консольный редактор.
а в остальном пошло ?
Аватара пользователя
AShen
постоялец
Сообщения: 155
Зарегистрирован: 26.08.2005 10:22:44
Откуда: Новороссийск

Сообщение AShen »

Attid писал(а):ну можно vim =)
просто в бубунте это стандартный консольный редактор.
а в остальном пошло ?


С nano понятно, пользуюсь mcedit.
А с остальным нет, не пошло.
Ответить