Страница 1 из 2

Как скомпилить FPC и Lazarus имея только SVN-версии???

СообщениеДобавлено: 12.11.2007 00:24:00
ViTality
Здравствуйте, проблема в том что скачаны только svn-версии и неполучаеться их скомпилить.
SVN-версии были получеты командами
Код: Выделить всё
svn co http://svn.freepascal.org/svn/fpc/trunk freepascal
svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus

Далее, делаю следующее
Код: Выделить всё
~>  cd freepascal
~/freepascal> make

а в ответ получаю:
Код: Выделить всё
make: -iVSPTPSOTO: Команда не найдена
make: -iSP: Команда не найдена
make: -iTP: Команда не найдена
make: -iSO: Команда не найдена
make: -iTO: Команда не найдена

С лазарусом тоже самое.
Подскажите что делаю не так? Как собрать FPC и Lazarus с нуля?

СообщениеДобавлено: 12.11.2007 00:39:24
Максим
Вам нужен уже установленный в системе FPC версии 2.0.4 либо 2.2.0. Его можно взять из репозитария дистрибутива либо с сайта разработчиков.

Более подробно процесс описан здесь (PDF).

СообщениеДобавлено: 12.11.2007 10:46:12
ViTality
Понятно. спасибо за ответ. я читал мануалы про такой способ сборки. Прост думал что есть возможность собрать имея только сорцы.

СообщениеДобавлено: 12.11.2007 12:31:52
shade
Максим писал(а):Вам нужен уже установленный в системе FPC версии 2.0.4 либо 2.2.0.

Вовсе не обязательно.

Нужен gnu make, binutils, утилиты gnu (cp, ginstall, gmkdir, gecho и т.п.) и бинарь fpс, т.е. ppc386.exe (я так понял у вас win32?).

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

http://the1st.adygnet.ru/~ftp/pub/draft/fpc_cross2.doc

СообщениеДобавлено: 12.11.2007 13:43:10
Attid
Где всё это качать, я не знаю.

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

СообщениеДобавлено: 12.11.2007 16:17:27
ViTality
Извиняюсь, забыл уточнить. Ось - OpenSuse 10.3
make там есть
а binutils зачем?

СообщениеДобавлено: 13.11.2007 03:03:17
Максим
Поставить уже имеющийся в ОС бинарный пакет с FPC будет самым простым решением.

СообщениеДобавлено: 13.11.2007 10:23:42
Attid
ну или могу бинарники выложить собраные под бубунтой
попробушь с ними пересобрать

СообщениеДобавлено: 13.11.2007 14:48:06
ViTality
Максим,Attid
я это понимаю. у меня есть бинарники (которые у меня в подписи).
Просто хотел научиться пользоваться svn-версией.
Под линуксом лазарус собираеться и ставиться. FPC откозался доконца компилироваться т.к. не нашел pkgarchive.ppu.

Теперь про Виндовс.(стоит снапшот)
щас перезагружусь и скажу как внем дело обстоит.
пока командная строка ненаходит make(добавил в path путь к ней поэтому и перезагружаюсь)

СообщениеДобавлено: 13.11.2007 14:57:22
shade
ViTality писал(а):make: -iVSPTPSOTO: Команда не найдена
make: -iSP: Команда не найдена
make: -iTP: Команда не найдена
make: -iSO: Команда не найдена
make: -iTO: Команда не найдена

Я кажется понял: make не может найти компилятор, укажи полный путь к компилятору fpc (к ppc*, ppc386 - если у тебя i386-совместимый проц) через параметр PP

Например.
Код: Выделить всё
make PP=/usr/local/bin/ppc386

СообщениеДобавлено: 13.11.2007 15:04:46
GigoVich
Ничего не понимаю.

Убунтятина Гиббон, но 64 бит.
FPC поставил бинарники.
Лазарь взял с SVN-а, но вот компилить его не получается:
Код: Выделить всё
make: -iVSPTPSOTO: Команда не найдена
make: -iSP: Команда не найдена
make: -iTP: Команда не найдена
make: -iSO: Команда не найдена
make: -iTO: Команда не найдена
make -C ide ide
make[1]: -iSP: Команда не найдена
make[1]: Entering directory `/home/gigovich/SVN/lazarus/ide'
make[1]: -iTP: Команда не найдена
make[1]: -iSO: Команда не найдена
make[1]: -iTO: Команда не найдена
make[1]: -iSP: Команда не найдена
make[1]: -iTP: Команда не найдена
make[1]: -iSO: Команда не найдена
make[1]: -iTO: Команда не найдена
make[1]: -iSP: Команда не найдена
make[1]: -iTP: Команда не найдена
make[1]: -iSO: Команда не найдена
make[1]: -iTO: Команда не найдена
make[1]: -iSP: Команда не найдена
make[1]: -iTP: Команда не найдена
make[1]: -iSO: Команда не найдена
make[1]: -iTO: Команда не найдена
make -C ../tools svn2revisioninc OS_TARGET= OPT=''
make[1]: -iSP: Команда не найдена
make[1]: -iTP: Команда не найдена
make[1]: -iSO: Команда не найдена
make[1]: -iTO: Команда не найдена
make[2]: Entering directory `/home/gigovich/SVN/lazarus/tools'
Makefile:177: *** The Makefile doesn't support target linux-, please run fpcmake first.  Останов.
make[2]: Leaving directory `/home/gigovich/SVN/lazarus/tools'
make[1]: *** [ide] Ошибка 2
make[1]: Leaving directory `/home/gigovich/SVN/lazarus/ide'
make: *** [ide] Ошибка 2


компилятор видно из любого места
сорцы фпц тоже скачал, положил в папку и казал путь:
Код: Выделить всё
PATH=/usr/local/fpc:$PATH


Не могу понять в чём дело, неужели действительно "doesn't support target linux"

СообщениеДобавлено: 13.11.2007 15:10:07
GigoVich
shade писал(а):Например.
Код: Выделить всё
make PP=/usr/local/bin/ppc386

shade спасибо огромное!!! В моём случае просто надо было указать:
Код: Выделить всё
make PP=/usr/bin/ppcx64

СообщениеДобавлено: 13.11.2007 15:31:42
ViTality
shade
да так оно и есть. после установки бинарника фпк лазарь стал компилиться а вот фпк не захотел (см. выше), точнее не доконца докомпилился.

-----
под виндой
лазарус(12799) компилируеться
а фрипаскаль(9229) всеже не хочет компилироваться
говорит
Код: Выделить всё
Fatal: Can't find unit dbf_prscore used by bufdataset_parser
Fatal: Compilation aborted
хотя эти файлы есть.

СообщениеДобавлено: 13.11.2007 16:40:02
shade
ViTality писал(а):а вот фпк не захотел (см. выше), точнее не доконца докомпилился.

Приведи свои действия:
что компилишь (какая верисия/ревизия)
чем компилишь (какая верисия/ревизия)
какими командами компиилишь
какие ругательства выдает make

Попробуй обновиться из svn: если берешь из trunc'а, то вполне может быть что ревизия битая...

И еще, не всегда новый компилятор может скомпилировать старые исходники. Лучше компилировать либо той же версией, либо более старой.

ViTality писал(а):под виндой
передумал добавлять путь к make в path.

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

СообщениеДобавлено: 13.11.2007 17:22:42
ViTality
Приведи свои действия:

приду домой повторб действия и отпишусь


под виндой
при последнем обновлении(9229) я написал в предыдущем посту. выдает
Код: Выделить всё
Fatal: Can't find unit dbf_prscore used by bufdataset_parser
Fatal: Compilation aborted

а компилировал при установленном снапшоте Lazarus-0.9.23-fpc-2.2.1-20070925.win32.
командой make all.

make прописал в переменные окружения.