Source build fails with current stable FPC (2.4.2) lazarus / 1-Linux ---------------------------------------------------------------------- mikaelo · 2011-02-19 18:13 The current Lazarus stable (0.9.28.2) seem to fail to compile with the latest FPC stable (2.4.2). This is the current output: Code: [Select]$ make clean all make -C ide cleanide make[1]: Entering directory `/home/mikaelo/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]: Leaving directory `/home/mikaelo/lazarus/ide' make -C lcl clean make[1]: Entering directory `/home/mikaelo/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/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/avglvltree.o units/i386-linux/dynamicarray.o units/i386-linux/dynhasharray.o units/i386-linux/extendedstrings.o units/i386-linux/fpcadds.o units/i386-linux/graphmath.o units/i386-linux/graphtype.o units/i386-linux/interfacebase.o units/i386-linux/lazlinkedlist.o units/i386-linux/lclmemmanager.o units/i386-linux/lclproc.o units/i386-linux/lclrescache.o units/i386-linux/lclstrconsts.o units/i386-linux/lcltype.o units/i386-linux/lmessages.o units/i386-linux/stringhashlist.o units/i386-linux/textstrings.o units/i386-linux/utrace.o /bin/rm -f units/i386-linux/lclstrconsts.rst /bin/rm -f units/i386-linux/avglvltree.o units/i386-linux/dynamicarray.o units/i386-linux/dynhasharray.o units/i386-linux/dynqueue.o units/i386-linux/extendedstrings.o units/i386-linux/fileutil.o units/i386-linux/fpcadds.o units/i386-linux/graphmath.o units/i386-linux/graphtype.o units/i386-linux/interfacebase.o units/i386-linux/lazconfigstorage.o units/i386-linux/lazlinkedlist.o units/i386-linux/lclmemmanager.o units/i386-linux/lclproc.o units/i386-linux/lclrescache.o units/i386-linux/lclstrconsts.o units/i386-linux/lcltype.o units/i386-linux/lclversion.o units/i386-linux/lmessages.o units/i386-linux/masks.o units/i386-linux/stringhashlist.o units/i386-linux/textstrings.o units/i386-linux/tmschema.o units/i386-linux/utrace.o units/i386-linux/wsreferences.o units/i386-linux/avglvltree.ppu units/i386-linux/dynamicarray.ppu units/i386-linux/dynhasharray.ppu units/i386-linux/dynqueue.ppu units/i386-linux/extendedstrings.ppu units/i386-linux/fileutil.ppu units/i386-linux/fpcadds.ppu units/i386-linux/graphmath.ppu units/i386-linux/graphtype.ppu units/i386-linux/interfacebase.ppu units/i386-linux/lazconfigstorage.ppu units/i386-linux/lazlinkedlist.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/lclversion.ppu units/i386-linux/lmessages.ppu units/i386-linux/masks.ppu units/i386-linux/stringhashlist.ppu units/i386-linux/textstrings.ppu units/i386-linux/tmschema.ppu units/i386-linux/utrace.ppu units/i386-linux/wsreferences.ppu units/i386-linux/lclstrconsts.rst        /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]: Entering directory `/home/mikaelo/lazarus/lcl/interfaces' make -C gtk2 clean make[3]: Entering directory `/home/mikaelo/lazarus/lcl/interfaces/gtk2' /bin/rm -f ../../units/i386-linux/gtk2/interfaces2.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]: Leaving directory `/home/mikaelo/lazarus/lcl/interfaces/gtk2' make[2]: Leaving directory `/home/mikaelo/lazarus/lcl/interfaces' make[1]: Leaving directory `/home/mikaelo/lazarus/lcl' make -C components clean make[1]: Entering directory `/home/mikaelo/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]: Entering directory `/home/mikaelo/lazarus/components/synedit' /bin/rm -f units/i386-linux/allsyneditunits.ppu units/i386-linux/syntextdrawer.ppu units/i386-linux/syneditkeycmds.ppu units/i386-linux/synedittypes.ppu units/i386-linux/syneditstrconst.ppu units/i386-linux/syneditsearch.ppu units/i386-linux/syneditmiscprocs.ppu units/i386-linux/syneditmiscclasses.ppu units/i386-linux/synedittextbuffer.ppu units/i386-linux/synedit.ppu units/i386-linux/synedithighlighter.ppu units/i386-linux/synhighlightermulti.ppu units/i386-linux/synregexpr.ppu units/i386-linux/synexporthtml.ppu units/i386-linux/syneditexport.ppu units/i386-linux/synmemo.ppu units/i386-linux/synmacrorecorder.ppu units/i386-linux/syneditplugins.ppu units/i386-linux/syneditregexsearch.ppu units/i386-linux/synhighlighterposition.ppu units/i386-linux/synhighlighterjava.ppu units/i386-linux/synhighlightercss.ppu units/i386-linux/synhighlighterphp.ppu units/i386-linux/synhighlightertex.ppu units/i386-linux/synhighlighterhashentries.ppu units/i386-linux/synhighlightersql.ppu units/i386-linux/synhighlightervb.ppu units/i386-linux/synpropertyeditobjectlist.ppu units/i386-linux/syndesignstringconstants.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]: Leaving directory `/home/mikaelo/lazarus/components/synedit' make -C codetools clean make[2]: Entering directory `/home/mikaelo/lazarus/components/codetools' /bin/rm -f units/i386-linux/allcodetoolunits.ppu units/i386-linux/codetoolsstrconsts.ppu units/i386-linux/avl_tree.ppu units/i386-linux/basiccodetools.ppu units/i386-linux/codecache.ppu units/i386-linux/sourcelog.ppu units/i386-linux/customcodetool.ppu units/i386-linux/multikeywordlisttool.ppu units/i386-linux/pascalparsertool.ppu units/i386-linux/finddeclarationtool.ppu units/i386-linux/identcompletiontool.ppu units/i386-linux/stdcodetools.ppu units/i386-linux/resourcecodetool.ppu units/i386-linux/codetemplatestool.ppu units/i386-linux/methodjumptool.ppu units/i386-linux/eventcodetool.ppu units/i386-linux/codecompletiontool.ppu units/i386-linux/codeatom.ppu units/i386-linux/codetree.ppu units/i386-linux/definetemplates.ppu units/i386-linux/expreval.ppu units/i386-linux/keywordfunclists.ppu units/i386-linux/linkscanner.ppu units/i386-linux/sourcechanger.ppu units/i386-linux/fileprocs.ppu units/i386-linux/codetoolsstructs.ppu units/i386-linux/codetoolmanager.ppu units/i386-linux/laz_dom.ppu units/i386-linux/laz_xmlcfg.ppu units/i386-linux/laz_xmlread.ppu units/i386-linux/laz_xmlwrite.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]: Leaving directory `/home/mikaelo/lazarus/components/codetools' make[1]: Leaving directory `/home/mikaelo/lazarus/components' make -C packager clean make[1]: Entering directory `/home/mikaelo/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]: Leaving directory `/home/mikaelo/lazarus/packager' make -C ideintf clean make[1]: Entering directory `/home/mikaelo/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]: Leaving directory `/home/mikaelo/lazarus/ideintf' make -C lcl all make[1]: Entering directory `/home/mikaelo/lazarus/lcl' /bin/rm -f units/i386-linux/alllclunits.ppu /home/mikaelo/fpc-2.4.2/bin/ppc386 -gl -Fu. -Funonwin32 -Fuforms -Fuwidgetset -Fiinclude -FE. -FUunits/i386-linux -di386 alllclunits.pp Free Pascal Compiler version 2.4.2 [2010/11/08] for i386 Copyright (c) 1993-2010 by Florian Klaempfl Target OS: Linux for i386 Compiling alllclunits.pp Compiling lclversion.pas Compiling lclstrconsts.pas Writing Resource String Table file: lclstrconsts.rst Compiling fpcadds.pas Compiling lazlinkedlist.pas Compiling dynhasharray.pp Compiling lclproc.pas Compiling avglvltree.pas Compiling fileutil.pas Compiling masks.pas Compiling lclproc.pas Compiling fileutil.pas Compiling lcltype.pp Compiling ./widgetset/wsreferences.pp Compiling lclmemmanager.pas Compiling dynqueue.pas Compiling stringhashlist.pas Compiling extendedstrings.pas Compiling dynamicarray.pas Compiling utrace.pp Compiling textstrings.pas Compiling lclrescache.pas Compiling graphmath.pp Compiling graphtype.pp Compiling graphutil.pp Compiling graphics.pp Compiling intfgraphics.pas Compiling lclintf.pas Compiling interfacebase.pp Compiling lmessages.pp Compiling themes.pas Compiling tmschema.pas Compiling interfacebase.pp Compiling lclintf.pas Compiling lresources.pp Compiling lazconfigstorage.pas lresources.pp(5320,13) Error: Incompatible types: got "AnsiString" expected "Char" lresources.pp(5514) Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted make[1]: *** [alllclunits.ppu] Error 1 make[1]: Leaving directory `/home/mikaelo/lazarus/lcl' make: *** [lcl] Error 2 The install is how i have made installs before: fpc installed  in user directory, with bin folder added to $PATH Lazarus source directory under user directory. ran make clean all. OS is ubuntu 10.10 VM on virtualbox I use source installs as I also do arm-linux cross compiles and need to build the cross compiler with custom options for our target processor. Last install was 0.9.26 w/ fpc 2.2.2 which built flawless, though I switched compiler after building lazarus. ---------------------------------------------------------------------- Bart · 2011-02-19 22:39 The 0.9.28 brach used to use  fpc 2.2.4 as the compiler, that may be the problem? Bart ---------------------------------------------------------------------- mikaelo · 2011-02-20 04:21 I guess that means that there is no stable version of Lazarus for the current version of FPC since beginning November then. That kind of sucks..I guess I will have to install an old version of the compiler just to build the IDE then. To bad that FPC is so intrusive beyond the install path even when installing in a private directory on Linux and insists on putting things in /etc (if it can write ) and your home directory, making it a pain to run parallel versions. Any plans to promote development versions to stable any time soon? ---------------------------------------------------------------------- Bart · 2011-02-20 21:51 I would recommend just installing the "unstable" 0.9.31 version (use svn, very easy), it is IMHO way better then 0.9.28.x. In the past I had a stable and trunk version running concurrently (both on Windows and Linux), but I pretty soon discovered I never actually used the stable ones anymore, so eventually I just got rid of them. Sometime (not very often) after an update a new (and for me annoying or relevant) bug is introduced, but then I simply revert to my previous version and wait until the bug is solved (or I try to solve it myself). And the trunk is supposed to always compile with the latest stable fpc release. Bart