[Lazarus] Broken cross compile build.
Brad Campbell
brad at wasp.net.au
Mon May 17 15:55:07 CEST 2010
Mattias Gärtner wrote:
>
> The paths are correct.
> Just to make sure: The file units/powerpc-darwin/keymapshortcutdlg.lfm
> does not exist, right?
Right
> The lfm file is copied by the compiler when it compiles the
> keymapshortcutdlg.ppu.
> Maybe the ppu file was already there, but the lfm was missing?
> Can you check what happens when you delete keymapshortcutdlg.ppu and
> then compile? Does it copy the lfm to
> units/powerpc-darwin/keymapshortcutdlg.lfm?
> If not you found a bug in the compiler.
It does copy the lfm to units/powerpc-darwin/keymapshortcutdlg.lfm
It then just chokes on the next one.
Debug: parsing parameter '/home/brad/devel/fpc/lazarus/ideintf/units/powerpc-darwin/graphicpropedit.lfm'
Debug: parsing parameter
'/home/brad/devel/fpc/lazarus/ideintf/units/powerpc-darwin/lazstringgridedit.lfm'
Debug: parsing parameter
'/home/brad/devel/fpc/lazarus/ideintf/units/powerpc-darwin/checklistboxeditordlg.lfm'
Debug: parsing parameter
'/home/brad/devel/fpc/lazarus/ideintf/units/powerpc-darwin/checkgroupeditordlg.lfm'
Debug: parsing parameter
'/home/brad/devel/fpc/lazarus/ideintf/units/powerpc-darwin/listviewpropedit.lfm'
Debug: parsing parameter '/home/brad/devel/fpc/lazarus/ideintf/units/powerpc-darwin/imagelisteditor.lfm'
Debug: parsing parameter '/home/brad/devel/fpc/lazarus/ideintf/units/powerpc-darwin/objectinspector.lfm'
Debug: parsing parameter 'keymapshortcutdlg.lfm'
Debug: parsing parameter '../units/powerpc-darwin/editmsgscannersdlg.lfm'
Debug: parsing parameter '/home/brad/devel/fpc/lazarus/lcl/units/powerpc-darwin/ldockctrledit.lfm'
Debug: parsing parameter '../units/powerpc-darwin/infobuild.lfm'
Debug: parsing parameter '../units/powerpc-darwin/idecontexthelpedit.lfm'
Debug: parsing parameter '../units/powerpc-darwin/exttooleditdlg.lfm'
<snip>
Debug: Reading resource information...
Debug: Resource information read
Debug: Trying to open file
/home/brad/devel/fpc/lazarus/ideintf/units/powerpc-darwin/listviewpropedit.lfm...
Debug: Chosen reader: DFM resource reader
Debug: Reading resource information...
Debug: Resource information read
Debug: Trying to open file
/home/brad/devel/fpc/lazarus/ideintf/units/powerpc-darwin/imagelisteditor.lfm...
Debug: Chosen reader: DFM resource reader
Debug: Reading resource information...
Debug: Resource information read
Debug: Trying to open file
/home/brad/devel/fpc/lazarus/ideintf/units/powerpc-darwin/objectinspector.lfm...
Debug: Chosen reader: DFM resource reader
Debug: Reading resource information...
Debug: Resource information read
Debug: Trying to open file keymapshortcutdlg.lfm...
Debug: Chosen reaError: Can't open file '../units/powerpc-darwin/editmsgscannersdlg.lfm'
[30.343] Error while compiling resources
[30.343] Searching file ../units/powerpc-darwin/../units/powerpc-darwin/lazarus.o... not found
[30.343] Searching file ../units/powerpc-darwin/../UNITS/POWERPC-DARWIN/LAZARUS.O... not found
[30.343] Searching file ../units/powerpc-darwin/lazarus.o... found
[30.343] Searching file ../units/powerpc-darwin/system.o... not found
[30.344] Searching file ../units/powerpc-darwin/SYSTEM.O... not found
Hrm.. it seems make distclean is leaving .ppu's in the powerpc-darwin directory. I can work around
this bug by using :
find . -name *.ppu -exec rm {} +
..prior to the build.
Unfortunately when I execute :
make LCL_PLATFORM=gtk2 OPT="-gl -CX" all idepkg
I get this :
make[2]: Entering directory `/home/brad/devel/fpc/lazarus/ide'
/opt/cross/bin/ppc386 -gl -dlclgtk2 -Fu../lcl/units/i386-linux -Fu../lcl/units/i386-linux/gtk2
-Fu../components/codetools/units/i386-linux -Fu../components/synedit/units/i386-linux
-Fu../components/custom -Fu../components/mpaslex -Fu../ideintf/units/i386-linux -Fu../designer
-Fu../debugger -Fu../debugger/frames -Fu../converter -Fu../packager -Fu../packager/frames
-Fu../packager/units/i386-linux -Fu../units/i386-linux -Fuframes -Fu. -Fiinclude -Fiinclude/linux
-Fi../images -FE.. -FU../units/i386-linux -Fl/usr/lib/gcc/i486-linux-gnu/4.2.4 -Flinclude
-Fl/etc/ld.so.conf.d/*.conf -gl -CX @/home/brad/.lazarus/idemake.cfg -di386 lazarus.pp
Free Pascal Compiler version 2.4.1 [2010/02/13] for i386
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Linux for i386
Compiling lazarus.pp
Compiling /home/brad/devel/fpc/lazarus/TreeView/tv.pas
Compiling /home/brad/devel/fpc/lazarus/TreeView/directorytreeview.pas
directorytreeview.pas(408,4) Note: Local variable "I" not used
directorytreeview.pas(49,5) Note: Private field "TDirectoryTreeview.OldNode" is never used
Fatal: Can't find unit codetools used by Lazarus
Fatal: Compilation aborted
make[2]: *** [lazarus] Error 1
make[2]: Leaving directory `/home/brad/devel/fpc/lazarus/ide'
make[1]: *** [idepkg] Error 2
make[1]: Leaving directory `/home/brad/devel/fpc/lazarus/ide'
Last time this happened I worked around it by deleting ~/.lazarus and reinstalling my packages from
scratch, but that's so ugly I don't even consider it a workaround.
I did a -va on this one, but after over 2000 lines of it searching every path for codetools.pp
except the one it's actually in I gave up trying to trim it and post it.
The annoying thing is up until very recently (certainly well after I migrated to fpc 2.4.1) this all
used to work fine.
Regards,
Brad
--
Dolphins are so intelligent that within a few weeks they can
train Americans to stand at the edge of the pool and throw them
fish.
More information about the Lazarus
mailing list