Сборка через SVN

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

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

Сборка через SVN

Сообщение GAMER » 16.09.2008 11:46:05

Решил собрать все новое. Вытянул через SVN Lazarus и fpc.
Но для того, что бы это все собрать нужны уже готовые бинарники.
1. Если использовать готовые бинарники фпс 2.2.2., то собственно, зачем мне тогда его собирать?
2. Если использовать старые бинарники (например 2.2.0), то не возникает ли при этом каких-то проблем при совместимости версий?

В каком порядке и как правильно тогда собирать с СВН? Нужно ли копировать в отдельный каталог? Можно ли держать несколько версий Лазаруса и не будет ли между ними конфликта? (например какой лазарус будет подвязан к расширению файлов).
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Сборка через SVN

Сообщение Attid » 16.09.2008 13:45:05

GAMER писал(а):В каком порядке и как правильно тогда собирать с СВН?

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

посла этого собираешь лазарус и все.

GAMER писал(а):Нужно ли копировать в отдельный каталог?

я компилю приям там же , народ любит сначало экспорт делать. дело вкуса.

GAMER писал(а):Можно ли держать несколько версий Лазаруса

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

Re: Сборка через SVN

Сообщение GAMER » 16.09.2008 14:16:51

Attid писал(а):тебе нужно бинарник фпц, его там же в свн найти можно, потом скомпилируешь исходники фпц, там ртл , он требуется для компиляции всего остального.

Где именно. В том что я скачал, его нет. Он в какой-то другой ветке находится? Файлы брал отсюда http://svn.freepascal.org/svn/fpc/trunk/
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Сборка через SVN

Сообщение Attid » 16.09.2008 17:35:05

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

Re: Сборка через SVN

Сообщение GAMER » 16.09.2008 20:09:44

Attid писал(а):
GAMER писал(а):Нужно ли копировать в отдельный каталог?

я компилю приям там же , народ любит сначало экспорт делать. дело вкуса.


Экспорт, имеется в виду обновление к последней версии или убирание папки .svn?

При попытке make all в папке сорсов fpc выдается сообщение
makefile:129: *** Compiler .exe not found. Stop.

В переменную PATH настроено PATH=C:\LAZ_WRK\BINW32;
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Сборка через SVN

Сообщение shade » 16.09.2008 22:32:19

GAMER писал(а):Экспорт, имеется в виду обновление к последней версии или убирание папки .svn?

второе.
Я как-то сталкивался, что с ними FPC не собирался, make залазил в один из .svn каталогов... наверное был просто баг в Makefile, обычно всё собирается без проблем.

GAMER писал(а):При попытке make all в папке сорсов fpc выдается сообщение makefile:129: *** Compiler .exe not found. Stop.

компилятор должен находиться через PATH. Либо его нужно указать через параметр PP:
make PP=<путь к ppc386.exe> all

А вообще о компиляции с исходников можно почитать Особенности национальной кросс-компиляции
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Re: Сборка через SVN

Сообщение GAMER » 17.09.2008 01:23:39

Attid писал(а):http://svn.freepascal.org/svn/fpcbuild/trunk/install/binw32/

Либо я чего-то не понимаю, либо что-то не так. Здесь нет файлов fpc.exe and ppc386.exe. Как же без них компилить?

Когда я установил полный пакет FPC с помощью инсталятора, то сорси фпц начали собираться. Но все же вопрос был, как собирать только через SVN.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Сборка через SVN

Сообщение Attid » 17.09.2008 10:44:31

GAMER писал(а):Здесь нет файлов fpc.exe and ppc386.exe.

и правда =/ чет думал что есть. значит нельзя =)
или собирать его дельфевым компилятором =) хотя последний фпц может уже и не умеет так собираться.

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

Re: Сборка через SVN

Сообщение shade » 17.09.2008 11:19:41

Win32, http://shamangrad.net/tmp/ppc386-win32.tar.bz2 точно не помню какая версия, вроде 2.2.0
Linux, http://shamangrad.net/tmp/ppc386-2.0.4.tar.bz2 версия 2.0.4

GAMER писал(а):Если использовать старые бинарники (например 2.2.0), то не возникает ли при этом каких-то проблем при совместимости версий?

Проблем быть не должно (по крайней мере если первая цифра версии совпадает) - более старая версия дожна компилировать любую более новую. С помощью новой версии не всегда удается скомпилировать более старую.

GAMER писал(а):Либо я чего-то не понимаю, либо что-то не так. Здесь нет файлов fpc.exe and ppc386.exe. Как же без них компилить?

Всё равно в том каталоге есть всё что нужно кроме самого FPC и без него ты врядли соберешь, как, что и почему читай в особенностях кросскомпиляции (^)

GAMER писал(а):Но все же вопрос был, как собирать только через SVN.

А как собрать компилятор C/C++ без компилятора C/C++ ?
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Re: Сборка через SVN

Сообщение GAMER » 17.09.2008 12:13:20

Продолжение.
Ремарка по поводу отсутствия компилятора была как реакция на пост
Сообщение Attid 16.09.2008 16:35:05
http://svn.freepascal.org/svn/fpcbuild/ ... ll/binw32/

Получив бинарник компилятора любым способом (например инсталировав пакет fpc) и прописав в PATH где оно все находится удалось собрать последний билд FPC.

Теперь сборка Лазаруса.
Не находит модуль Contnrs.
Fatal: Can't find unit Contnrs used by Masks

Поискав по форумам подобное сообщение, увидел, что не только у меня так. Понятно, что компилятор не видит каталог Units.
Советуют в файл fpc.cfg прописать что-то подобное к
-fuc:\lazarus/pp/units/$TARGET
-fuc:\lazarus/pp/units/$TARGET/*
-fuc:\lazarus/pp/units/$TARGET/rtl

1.Такой файл я не нашел, но в чем проблема его создать? :)
Создал я его в каталоге, ../bin/i386-win32 (Правильно или не там его нужно создавать?)
2. Подкорректировал пути:
-fud:\lazwrk\fpc\2_3_1\units\i386-win32
-fud:\lazwrk\fpc\2_3_1\units\i386-win32/*
-fud:\lazwrk\fpc\2_3_1\units\i386-win32/rtl
Получаю: Error: Illegal parameter: -fud:\lazwrk\fpc\2_3_1\units\i386-win32
3. Просмотрев сообщения компилятора в прецессе работы меняю на
-FUd:\lazwrk\fpc\2_3_1\units\i386-win32
-FUd:\lazwrk\fpc\2_3_1\units\i386-win32/*
-FUd:\lazwrk\fpc\2_3_1\units\i386-win32/rtl
Опять получаю: Fatal: Can't find unit Contnrs used by Masks

Как указать компилятору где искать модули?

Добавлено позже.
Не угадал я. :) Нужно было так:
-Fud:\lazwrk\fpc\2_3_1\units\i386-win32
-Fud:\lazwrk\fpc\2_3_1\units\i386-win32/*
-Fud:\lazwrk\fpc\2_3_1\units\i386-win32/rtl

Но Лазарус все же не собрался :lol: Теперь другие проблемы. Буду разбираться дальше.
Проблемы такие:
lazxmlforms.pas(59,52) Warning: Constructing a class "TXMLObjectWriter" with abs
tract method "WriteUnicodeString"
lazxmlforms.pas(77,47) Warning: Constructing a class "TXMLObjectReader" with abs
tract method "ReadUnicodeString"
gcc: Warning: `-x c' after last input file has no effect
gcc: No input files
D:\LAZWRK\FPC\2_3_1\BIN\I386-W~1\windres.exe: no resources
lazarus.pp(122,1) Error: Error while compiling resources
lazarus.pp(122,1) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
Последний раз редактировалось GAMER 17.09.2008 12:23:44, всего редактировалось 1 раз.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Сборка через SVN

Сообщение alexs » 17.09.2008 12:23:06

а где действительно находится скомпилированный модуль Contnrs? по какому пути?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Сборка через SVN

Сообщение GAMER » 17.09.2008 12:28:10

Модуль находится здесь. -Fud:\lazwrk\fpc\2_3_1\units\i386-win32/fcl-base

Выше я уже дописал в свое сообщение в чем была проблема. Плюс там есть уже новая.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Сборка через SVN

Сообщение Attid » 17.09.2008 12:33:54

только первую букву большую, а вторую маленькую
Код: Выделить всё
-Fuc:\fpc\2.2.2/units/$FPCTARGET/
-Fuc:\fpc\2.2.2/units/$FPCTARGET/*
-Fuc:\fpc\2.2.2/units/$FPCTARGET/rtl


Добавлено спустя 56 секунд:
гы долго писал ответ =)
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Сборка через SVN

Сообщение GAMER » 17.09.2008 13:11:49

Я так понимаю, что затык здесь:
gcc: Warning: `-x c' after last input file has no effect
gcc: No input files

Но что это значит?

Вообщем не нравится компилятору вот это:
{$IFDEF WINDOWS}
{$R lazarus.rc}
{$ENDIF}
Если сделать так
{$IFDEF WINDOWS}
// {$R lazarus.rc}
{$ENDIF}
то собирается. (Вроде :) ) Еще не инсталировал, по этому утверждать не могу.

Добавлено спустя 1 час 34 минуты 57 секунд:
Продолжение.
Итак. Подрихтовав файли с подключенгием ресурсов таким образом:
{$IFDEF WINDOWS}
// {$R lazarus.rc}
{$ENDIF}
я собрал Лазарус. Потом вернув файлы в первоначальный вид, то есть убрав ремарки, я уже пересобрал Лазарь средствами Лазаря. И. о, ЧУДО, все собралось. Почему оно не собиралось из командной строки - для меня загадка.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Сборка через SVN

Сообщение alexs » 17.09.2008 15:08:59

а lazarus.rc присутсвовал физически?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 60

Рейтинг@Mail.ru