блин...
как-то раз уже разбирался с этой темой - разобрался вроде, всё работало (
http://freepascal.ru/forum/viewtopic.php?f=37&t=5390)... сейчас опять косяки...
ситуация такая: есть исходники fpc 2.4.0, есть исходники Лазаруса 0.9.29 revition 27286 - последняя на текущий момент... но думается что лучше брать
отсюда... прям уже не знаю что придуамть. Десять раз уже выкачал все сорцы... хз где чё с чем не срослось... не получается поднять...
А хочется вот что:
1. последнюю рабочую(!!!) версию fpc
2. последнюю рабочую(!!!) версию лазаруса
3. всё это чтоб обновлялось через svn
4. компилировалось и работало в домашней папке
5. сохранялись исходники, в которых были внесены изменения (например я добавил в стандартные компоненты свойств - чтобы они оставались при обновлении)
6. желательно без инсталляции компилятора из репов
система Ubuntu 10.04 ... если получится то что надо - напишу мануал! ))
Добавлено спустя 5 часов 44 минуты 30 секунд:Установка fpc из исходников на Убунту 10.04
1. установить fpc из репов используя Центр приложений Убунту
2. получить сорцы по svn
svn co
http://svn.freepascal.org/svn/fpc/trunk home/user_name/ide/fpc_source
3. скомпилировать
sudo make install PREFIX=~/ide/fpc
4. установить права доступа
sudo chmod -R 777 /home/user_name/ide/fpc
5. удалить старый fpc чтобы не мешался, удалим через всё тот же Центр приложений
6. добавить путь к компилятору в переменную PATH
a. gedit /home/user_name/.profile
b. скорректируем переменную PATH чтобы она выглядела следующим образом:
PATH="$HOME/ide:$HOME/ide/fpc/lib/fpc/2.5.1:$HOME/ide/fpc/bin:$PATH"
c. сохраним файл и переинициализируем переменную (logout-login)
7. создадим новый файл fpc.cfg в папке /home/user_name с помощью утилиты fpcmkcfg,
которая находится по адресу /home/user_name/ide/fpc/bin
fpcmkcfg -o /home/user_name/fpc.cfg
8. откроем созданный fpc.cfg и исправим все пути на актуальные
gedit /home/user_name/fpc.cfg
Установка Lazarus из исходников на Убунту 10.04
1. получим последнюю ревизию Лазаруса по svn
svn co
http://svn.freepascal.org/svn/lazarus/trunk /home/user_name/ide/lazarus
2. для связки с make кинем ссылку на ppc386 в папку /usr/bin
используя ln или через sudo nautilus
3. соберём Лазарус
cd /home/user_name/ide/lazarus
sudo make clean all
... и вот сдесь сборка не получается команда sudo make clean all выводит следующее:
- Код: Выделить всё
leo@leo-laptop:~/ide/lazarus$ sudo make clean all
make -C ide cleanide
make[1]: Вход в каталог `/home/leo/ide/lazarus/ide'
/bin/rm -f
/bin/rm -f
/bin/rm -f
/bin/rm -f
/bin/rm -f
/bin/rm -f
/bin/rm -f
/bin/rm -f
/bin/rm -f
/bin/rm -f
/bin/rm -f
/bin/rm -f
/bin/rm -f
/bin/rm -f
/bin/rm -f
/bin/rm -f
/bin/rm -f
/bin/rm -f
make[1]: Выход из каталога `/home/leo/ide/lazarus/ide'
make -C lcl clean
make[1]: Вход в каталог `/home/leo/ide/lazarus/lcl'
/bin/rm -f units/i386-linux/alllclunits.ppu units/i386-linux/actnlist.ppu units/i386-linux/arrow.ppu units/i386-linux/avglvltree.ppu units/i386-linux/buttons.ppu units/i386-linux/calendar.ppu units/i386-linux/chart.ppu units/i386-linux/checklst.ppu units/i386-linux/clipbrd.ppu units/i386-linux/clistbox.ppu units/i386-linux/comctrls.ppu units/i386-linux/controls.ppu units/i386-linux/dbactns.ppu units/i386-linux/dbctrls.ppu units/i386-linux/dbgrids.ppu units/i386-linux/dialogs.ppu units/i386-linux/dynamicarray.ppu units/i386-linux/dynhasharray.ppu units/i386-linux/editbtn.ppu units/i386-linux/extctrls.ppu units/i386-linux/extdlgs.ppu units/i386-linux/extendedstrings.ppu units/i386-linux/extgraphics.ppu units/i386-linux/filectrl.ppu units/i386-linux/forms.ppu units/i386-linux/fpcadds.ppu units/i386-linux/graphics.ppu units/i386-linux/graphmath.ppu units/i386-linux/graphtype.ppu units/i386-linux/grids.ppu units/i386-linux/imglist.ppu units/i386-linux/inipropstorage.ppu units/i386-linux/interfacebase.ppu units/i386-linux/lazlinkedlist.ppu units/i386-linux/lclintf.ppu units/i386-linux/lclmemmanager.ppu units/i386-linux/lclproc.ppu units/i386-linux/lclrescache.ppu units/i386-linux/lclstrconsts.ppu units/i386-linux/lcltype.ppu units/i386-linux/lclunicodedata.ppu units/i386-linux/lconvencoding.ppu units/i386-linux/lmessages.ppu units/i386-linux/lresources.ppu units/i386-linux/maskedit.ppu units/i386-linux/menus.ppu units/i386-linux/pairsplitter.ppu units/i386-linux/popupnotifier.ppu units/i386-linux/postscriptprinter.ppu units/i386-linux/printers.ppu units/i386-linux/propertystorage.ppu units/i386-linux/spin.ppu units/i386-linux/stdactns.ppu units/i386-linux/stdctrls.ppu units/i386-linux/stringhashlist.ppu units/i386-linux/textstrings.ppu units/i386-linux/toolwin.ppu units/i386-linux/utrace.ppu units/i386-linux/xmlpropstorage.ppu
/bin/rm -f units/i386-linux/lclstrconsts.rst
/bin/rm -f
/bin/rm -f fpcmade.i386-linux Package.fpc ppas.sh script.res link.res
/bin/rm -f *.s *_ppas.sh
make -C interfaces clean
make[2]: Вход в каталог `/home/leo/ide/lazarus/lcl/interfaces'
make -C gtk2 clean
make[3]: Вход в каталог `/home/leo/ide/lazarus/lcl/interfaces/gtk2'
/bin/rm -f ../../units/i386-linux/gtk2/interfaces.ppu ../../units/i386-linux/gtk2/gtk2int.ppu
/bin/rm -f
/bin/rm -f fpcmade.i386-linux Package.fpc ppas.sh script.res link.res
/bin/rm -f *.s *_ppas.sh
make[3]: Выход из каталога `/home/leo/ide/lazarus/lcl/interfaces/gtk2'
make[2]: Выход из каталога `/home/leo/ide/lazarus/lcl/interfaces'
make[1]: Выход из каталога `/home/leo/ide/lazarus/lcl'
make -C components clean
make[1]: Вход в каталог `/home/leo/ide/lazarus/components'
/bin/rm -f
/bin/rm -f fpcmade.i386-linux Package.fpc ppas.sh script.res link.res
/bin/rm -f *.s *_ppas.sh
make -C synedit clean
make[2]: Вход в каталог `/home/leo/ide/lazarus/components/synedit'
/bin/rm -f units/i386-linux/allsyneditunits.ppu units/i386-linux/synbeautifier.ppu units/i386-linux/syncompletion.ppu units/i386-linux/syndesignstringconstants.ppu units/i386-linux/synedit.ppu units/i386-linux/syneditautocomplete.ppu units/i386-linux/syneditexport.ppu units/i386-linux/syneditfoldedview.ppu units/i386-linux/synedithighlighter.ppu units/i386-linux/synedithighlighterfoldbase.ppu units/i386-linux/synedithighlighterxmlbase.ppu units/i386-linux/syneditkeycmds.ppu units/i386-linux/syneditlazdsgn.ppu units/i386-linux/syneditlines.ppu units/i386-linux/syneditmarks.ppu units/i386-linux/syneditmarkup.ppu units/i386-linux/syneditmarkupbracket.ppu units/i386-linux/syneditmarkupctrlmouselink.ppu units/i386-linux/syneditmarkuphighall.ppu units/i386-linux/syneditmarkupselection.ppu units/i386-linux/syneditmarkupspecialline.ppu units/i386-linux/syneditmarkupwordgroup.ppu units/i386-linux/syneditmiscclasses.ppu units/i386-linux/syneditmiscprocs.ppu units/i386-linux/syneditmousecmds.ppu units/i386-linux/syneditplugins.ppu units/i386-linux/syneditpointclasses.ppu units/i386-linux/syneditregexsearch.ppu units/i386-linux/syneditsearch.ppu units/i386-linux/syneditstrconst.ppu units/i386-linux/synedittextbase.ppu units/i386-linux/synedittextbuffer.ppu units/i386-linux/synedittextdoublewidthchars.ppu units/i386-linux/synedittexttabexpander.ppu units/i386-linux/synedittexttrimmer.ppu units/i386-linux/synedittypes.ppu units/i386-linux/synexporthtml.ppu units/i386-linux/syngutter.ppu units/i386-linux/syngutterbase.ppu units/i386-linux/syngutterchanges.ppu units/i386-linux/synguttercodefolding.ppu units/i386-linux/syngutterlinenumber.ppu units/i386-linux/synguttermarks.ppu units/i386-linux/synhighlighterany.ppu units/i386-linux/synhighlightercpp.ppu units/i386-linux/synhighlightercss.ppu units/i386-linux/synhighlighterhashentries.ppu units/i386-linux/synhighlighterhtml.ppu units/i386-linux/synhighlighterjava.ppu units/i386-linux/synhighlighterjscript.ppu units/i386-linux/synhighlighterlfm.ppu units/i386-linux/synhighlightermulti.ppu units/i386-linux/synhighlighterpas.ppu units/i386-linux/synhighlighterperl.ppu units/i386-linux/synhighlighterphp.ppu units/i386-linux/synhighlighterposition.ppu units/i386-linux/synhighlighterpython.ppu units/i386-linux/synhighlightersql.ppu units/i386-linux/synhighlightertex.ppu units/i386-linux/synhighlighterunixshellscript.ppu units/i386-linux/synhighlightervb.ppu units/i386-linux/synhighlighterxml.ppu units/i386-linux/synhighlighterdiff.ppu units/i386-linux/synmacrorecorder.ppu units/i386-linux/synmemo.ppu units/i386-linux/synpluginsyncroedit.ppu units/i386-linux/synpluginsyncronizededitbase.ppu units/i386-linux/synplugintemplateedit.ppu units/i386-linux/synpropertyeditobjectlist.ppu units/i386-linux/synregexpr.ppu units/i386-linux/syntextdrawer.ppu
/bin/rm -f
/bin/rm -f fpcmade.i386-linux Package.fpc ppas.sh script.res link.res
/bin/rm -f *.s *_ppas.sh
make[2]: Выход из каталога `/home/leo/ide/lazarus/components/synedit'
make -C codetools clean
make[2]: Вход в каталог `/home/leo/ide/lazarus/components/codetools'
/bin/rm -f units/i386-linux/codetools.pas.ppu
/bin/rm -f
/bin/rm -f fpcmade.i386-linux Package.fpc ppas.sh script.res link.res
/bin/rm -f *.s *_ppas.sh
make[2]: Выход из каталога `/home/leo/ide/lazarus/components/codetools'
make -C lazcontrols clean
make[2]: Вход в каталог `/home/leo/ide/lazarus/components/lazcontrols'
/bin/rm -f lib/i386-linux/lazcontrols.pas.ppu
/bin/rm -f
/bin/rm -f fpcmade.i386-linux Package.fpc ppas.sh script.res link.res
/bin/rm -f *.s *_ppas.sh
make[2]: Выход из каталога `/home/leo/ide/lazarus/components/lazcontrols'
make[1]: Выход из каталога `/home/leo/ide/lazarus/components'
make -C packager clean
make[1]: Вход в каталог `/home/leo/ide/lazarus/packager'
/bin/rm -f
/bin/rm -f fpcmade.i386-linux Package.fpc ppas.sh script.res link.res
/bin/rm -f *.s *_ppas.sh
make[1]: Выход из каталога `/home/leo/ide/lazarus/packager'
make -C ideintf clean
make[1]: Вход в каталог `/home/leo/ide/lazarus/ideintf'
/bin/rm -f units/i386-linux/allideintf.ppu units/i386-linux/a.ppu units/i386-linux/ActionsEditor.ppu units/i386-linux/ColumnDlg.ppu units/i386-linux/ComponentEditors.ppu units/i386-linux/ComponentReg.ppu units/i386-linux/ComponentTreeView.ppu units/i386-linux/ConfigStorage.ppu units/i386-linux/DBPropEdits.ppu units/i386-linux/FieldsEditor.ppu units/i386-linux/FormEditingIntf.ppu units/i386-linux/FrmSelectProps.ppu units/i386-linux/GraphPropEdits.ppu units/i386-linux/HelpFPDoc.ppu units/i386-linux/HelpHTML.ppu units/i386-linux/HelpIntf.ppu units/i386-linux/IDECommands.ppu units/i386-linux/IDEWindowIntf.ppu units/i386-linux/ImageListEditor.ppu units/i386-linux/LazIDEIntf.ppu units/i386-linux/ListViewPropEdit.ppu units/i386-linux/MacroIntf.ppu units/i386-linux/MaskPropEdit.ppu units/i386-linux/MenuIntf.ppu units/i386-linux/NewItemIntf.ppu units/i386-linux/ObjectInspector.ppu units/i386-linux/ObjInspStrConsts.ppu units/i386-linux/PackageIntf.ppu units/i386-linux/ProjectIntf.ppu units/i386-linux/PropEdits.ppu units/i386-linux/SrcEditorIntf.ppu units/i386-linux/TextTools.ppu
/bin/rm -f
/bin/rm -f fpcmade.i386-linux Package.fpc ppas.sh script.res link.res
/bin/rm -f *.s *_ppas.sh
make[1]: Выход из каталога `/home/leo/ide/lazarus/ideintf'
make -C lcl all
make[1]: Вход в каталог `/home/leo/ide/lazarus/lcl'
/bin/rm -f units/i386-linux/alllclunits.ppu
/usr/bin/ppc386 -gl -Fu. -Funonwin32 -Fuforms -Fuwidgetset -Fiinclude -FE. -FUunits/i386-linux -di386 alllclunits.pp
Free Pascal Compiler version 2.5.1 [2010/09/09] for i386
Copyright (c) 1993-2010 by Florian Klaempfl
Target OS: Linux for i386
Compiling alllclunits.pp
Fatal: Can't find unit system used by AllLCLUnits
Fatal: Compilation aborted
make[1]: *** [alllclunits.ppu] Ошибка 1
make[1]: Выход из каталога `/home/leo/ide/lazarus/lcl'
make: *** [lcl] Ошибка 2
В чём может быть загвоздка?