View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000347 | Double Commander | Default | public | 2012-02-23 16:52 | 2016-06-26 12:01 |
Reporter | vo.x | Assigned To | cobines | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | no change required | ||
Projection | none | ETA | none | ||
Product Build | r4304 | ||||
Summary | 0000347: Fails tu build on Fedora 16 | ||||
Description | Trying to build on Fedora 16, the build fails with following error: NOTE: miscellaneous options file not found - using defaults TLazPackageGraph.CheckIfPackageNeedsCompilation Compiler custom params changed for LazControls 0.0 Old=" -MObjFPC -Scghi -O1 -gl -vewnhi -l -dLCL -dLCLgtk2" Now=" -MObjFPC -Scghi -O1 -gl -vewnhi -l -dLCL -dLCLgtk2 lazcontrols.pas" TParsedCompilerOptions.SetOutputDirectoryOverride New=/builddir/.lazarus/lib/LazControls/x86_64-linux [TExternalToolList.Run] CmdLine="/usr/bin/fpc -B -MObjFPC -Scghi -O1 -gl -vewnhi -l -Fu/usr/lib64/lazarus/lcl/units/x86_64-linux -Fu/usr/lib64/lazarus/lcl/units/x86_64-linux/gtk2 -Fu/usr/lib64/lazarus/packager/units/x86_64-linux -Fu/usr/lib64/lazarus/components/lazcontrols/ -Fu. -FU/usr/lib64/lazarus/components/lazcontrols/lib/x86_64-linux/ -dLCL -dLCLgtk2 lazcontrols.pas" WorkDir="/usr/lib64/lazarus/components/lazcontrols/" Hint: Start of reading config file /etc/fpc.cfg Hint: End of reading config file /etc/fpc.cfg Free Pascal Compiler version 2.4.2 [2011/02/09] for x86_64 Copyright (c) 1993-2010 by Florian Klaempfl Target OS: Linux for x86-64 Compiling lazcontrols.pas Compiling dividerbevel.pas dividerbevel.pas(184,1) Error: Can't create object file: /usr/lib64/lazarus/components/lazcontrols/lib/x86_64-linux/dividerbevel.o dividerbevel.pas(184,1) Fatal: Can't create object /usr/lib64/lazarus/components/lazcontrols/lib/x86_64-linux/dividerbevel.o TExternalToolList.Run Exception: /usr/lib64/lazarus/components/lazcontrols/dividerbevel.pas(184,1) Fatal: Can't create object /usr/lib64/lazarus/components/lazcontrols/lib/x86_64-linux/dividerbevel.o ERROR: tool reported error strip: 'doublecmd': No such file It seems that Lazarus is trying to rebuild lazcontrols and it fails due to low right (and that's correct). But why it tries to recompile? It seems that the dependency on LazControls was introduced in r4276, is it related? | ||||
Tags | No tags attached. | ||||
Attached Files | lazcontrols.diff (1,196 bytes)
Index: lazcontrols.lpk =================================================================== --- lazcontrols.lpk (revision 36718) +++ lazcontrols.lpk (working copy) @@ -10,6 +10,7 @@ <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> </SearchPaths> <Other> + <CustomOptions Value="$(IDEBuildOptions)"/> <CompilerPath Value="$(CompPath)"/> </Other> </CompilerOptions> Index: Makefile.compiled =================================================================== --- Makefile.compiled (revision 36718) +++ Makefile.compiled (working copy) @@ -1,5 +1,5 @@ <?xml version="1.0"?> <CONFIG> <Makefile Value="True"/> - <Params Value=" -MObjFPC -Scghi -O1 -gl -vewnhi -l -Fu../../lcl/units/%(CPU_TARGET)-%(OS_TARGET);../../lcl/units/%(CPU_TARGET)-%(OS_TARGET)/%(LCL_PLATFORM);../../packager/units/%(CPU_TARGET)-%(OS_TARGET);. -Fi. -dLCL -dLCL%(LCL_PLATFORM)"/> + <Params Value=" -MObjFPC -Scghi -O1 -gl -vewnhi -l -Fu../../lcl/units/%(CPU_TARGET)-%(OS_TARGET);../../lcl/units/%(CPU_TARGET)-%(OS_TARGET)/%(LCL_PLATFORM);../../packager/units/%(CPU_TARGET)-%(OS_TARGET);. -Fi. -dLCL -dLCL%(LCL_PLATFORM) lazcontrols.pas"/> </CONFIG> lazcontrols2.diff (2,184 bytes)
Index: Makefile.fpc =================================================================== --- Makefile.fpc (wersja 37097) +++ Makefile.fpc (kopia robocza) @@ -51,6 +51,6 @@ -$(DEL) $(COMPILER_UNITTARGETDIR)/lazcontrols$(PPUEXT) compiled: - $(COPY) Makefile.compiled $(COMPILER_UNITTARGETDIR)/LazControls.compiled + $(CPPROG) -f Makefile.compiled $(COMPILER_UNITTARGETDIR)/LazControls.compiled all: cleartarget $(COMPILER_UNITTARGETDIR) lazcontrols$(PPUEXT) compiled Index: Makefile.compiled =================================================================== --- Makefile.compiled (wersja 37097) +++ Makefile.compiled (kopia robocza) @@ -1,5 +1,5 @@ <?xml version="1.0"?> <CONFIG> <Makefile Value="True"/> - <Params Value=" -MObjFPC -Scghi -O1 -gl -vewnhi -l -Fu../../lcl/units/%(CPU_TARGET)-%(OS_TARGET);../../lcl/units/%(CPU_TARGET)-%(OS_TARGET)/%(LCL_PLATFORM);../../packager/units/%(CPU_TARGET)-%(OS_TARGET);. -Fi. -dLCL -dLCL%(LCL_PLATFORM)"/> + <Params Value=" -MObjFPC -Scghi -O1 -gl -vewnhi -l -Fu../../lcl/units/%(CPU_TARGET)-%(OS_TARGET);../../lcl/units/%(CPU_TARGET)-%(OS_TARGET)/%(LCL_PLATFORM);../../packager/units/%(CPU_TARGET)-%(OS_TARGET);.;.;lib/%(CPU_TARGET)-%(OS_TARGET) -Fi. -dLCL -dLCL%(LCL_PLATFORM) lazcontrols.pas"/> </CONFIG> Index: Makefile =================================================================== --- Makefile (wersja 37097) +++ Makefile (kopia robocza) @@ -2961,5 +2961,5 @@ cleartarget: -$(DEL) $(COMPILER_UNITTARGETDIR)/lazcontrols$(PPUEXT) compiled: - $(COPY) Makefile.compiled $(COMPILER_UNITTARGETDIR)/LazControls.compiled + $(CPPROG) -f Makefile.compiled $(COMPILER_UNITTARGETDIR)/LazControls.compiled all: cleartarget $(COMPILER_UNITTARGETDIR) lazcontrols$(PPUEXT) compiled Index: lazcontrols.lpk =================================================================== --- lazcontrols.lpk (wersja 37097) +++ lazcontrols.lpk (kopia robocza) @@ -10,6 +10,7 @@ <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> </SearchPaths> <Other> + <CustomOptions Value="$(IDEBuildOptions)"/> <CompilerPath Value="$(CompPath)"/> </Other> </CompilerOptions> | ||||
Fixed in Revision | |||||
Operating system | Linux | ||||
Widgetset | GTK2 | ||||
Architecture | |||||
|
Do you have those files? lib/x86_64-linux/dividerbevel.o and dividerbevel.ppu Have you changed something in lazcontrols.lpk? Besides, Lazarus should put compiled components somewhere in user home directory instead. |
|
Same issue for me, Fedora 17. The files are present here: /usr/lib64/lazarus/components/lazcontrols/lib/x86_64-linux/dividerbevel.o /usr/lib64/lazarus/components/lazcontrols/lib/x86_64-linux/dividerbevel.ppu I haven't changed lazcontrols.lpk. |
|
Which Lazarus version? You cannot simply rebuild the package as root? What if you open Lazarus IDE, menu Package/Open existing package, open LazControls and press Compile. When Lazarus detects that it cannot write to the directory it puts the package binaries to user home directory: $HOME/.lazarus/lib/LazControls. Maybe something is wrong with your Lazarus, because it does work for me (with Lazarus trunk 35828): TLazPackageGraph.CheckIfCurPkgOutDirNeedsCompile No state file for LazControls 0.0 TLazPackageGraph.CheckIfPackageNeedsCompilation normal output dir is not writable: /usr/lib/lazarus/components/lazcontrols/lib/i386-linux/ TLazPackageGraph.GetFallbackOutputDir LazControls: /home/devel/.lazarus/lib/LazControls/lib/i386-linux TParsedCompilerOptions.SetOutputDirectoryOverride New=/home/devel/.lazarus/lib/LazControls/lib/i386-linux TLazPackageGraph.CheckIfCurPkgOutDirNeedsCompile No state file for LazControls 0.0 [TExternalToolList.Run] CmdLine="/home/devel/fpc/fixes_2_6/bin/fpc -B -MObjFPC -Scghi -O1 -gw2 -gl -vewnhi -l -Fu/usr/lib/lazarus/lcl/units/i386-linux/gtk2 -Fu/usr/lib/lazarus/lcl/units/i386-linux -Fu/usr/lib/lazarus/components/lazutils/lib/i386-linux -Fu/usr/lib/lazarus/packager/units/i386-linux -Fu/usr/lib/lazarus/components/lazcontrols/ -FU/home/devel/.lazarus/lib/LazControls/lib/i386-linux -dLCL -dLCLgtk2 lazcontrols.pas" WorkDir="/usr/lib/lazarus/components/lazcontrols/" Hint: Start of reading config file /home/devel/.fpc.cfg Hint: End of reading config file /home/devel/.fpc.cfg Free Pascal Compiler version 2.6.1 [2012/03/08] for i386 Copyright (c) 1993-2011 by Florian Klaempfl and others Target OS: Linux for i386 Compiling lazcontrols.pas Compiling dividerbevel.pas Compiling extendednotebook.pas Compiling listfilteredit.pas Compiling treefilteredit.pas 1621 lines compiled, 0.9 sec 2 hint(s) issued "Compiling package LazControls 0.0" completed |
|
Also, do you have a file: /usr/lib64/lazarus/components/lazcontrols/lib/x86_64-linux/lazcontrols.compiled and if you do what are the contents. |
|
Hmm, it seems that even the Lazarus ide won't start. I'll try to contact the Fedora Lazarus maintainer, maybe the problem is on his side... |
|
Any progress? It seems to be a problem with package in Fedora missing some files. |
|
I'm currently waiting for the Fedora Lazarus maintainer to recompile it against new fpc, then everything should work. I'll let you know as soon as it's done. |
|
OK, thanks for the update. |
|
Hm, continuing with F17 and updated Lazarus package, I still have the same error. I was able to build Lazarus as a root and now I can build it also as a regular user. But that is not satisfactory, since I still cannot build Lazarus using Fedora build system. In your log from comment 409, I see that you have customized /home/devel/.fpc.cfg. Might it influence the build process? This is content of Fedora's "/usr/lib64/lazarus/components/lazcontrols/lib/x86_64-linux/lazcontrols.compiled": <?xml version="1.0"?> <CONFIG> <Makefile Value="True"/> <Params Value=" -MObjFPC -Scghi -O1 -gl -vewnhi -l -Fu../../lcl/units/%(CPU_TARGET)-%(OS_TARGET);../../lcl/units/%(CPU_TARGET)-%(OS_TARGET)/%(LCL_PLATFORM);../../packager/units/%(CPU_TARGET)-%(OS_TARGET);. -Fi. -dLCL -dLCL%(LCL_PLATFORM)"/> </CONFIG> Note that there are no special build options or patches applied to Lazarus package. You can see the Lazarus's build script here [1]. But what strikes me is still this part of the log: TLazPackageGraph.CheckIfPackageNeedsCompilation Compiler custom params changed for LazControls 0.0 Old=" -MObjFPC -Scghi -O1 -gl -vewnhi -l -dLCL -dLCLgtk2" Now=" -MObjFPC -Scghi -O1 -gl -vewnhi -l -dLCL -dLCLgtk2 lazcontrols.pas" This is the reason why the lazcontrols package is rebuild. If I'd be able to identify how that comes, we would get to some solution. Nevertheless, ATM, I would say that it is more likely Lazarus error then DoubleCmd error. [1] http://pkgs.fedoraproject.org/gitweb/?p=lazarus.git;a=blob;f=lazarus.spec;h=412998cf7819fc0f33b5a33557ae25bc2b0516d1;hb=HEAD |
|
lazcontrols.compiled is missing "lazcontrols.pas" at the end. And this seems to be Lazarus problem. Lazarus 0.9.30.5 components/lazcontrols/Makefile.compiled: <?xml version="1.0"?> <CONFIG> <Makefile Value="True"/> <Params Value=" -MObjFPC -Scghi -O1 -gl -vewnhi -l -Fu../../lcl/units/%(CPU_TARGET)-%(OS_TARGET);../../lcl/units/%(CPU_TARGET)-%(OS_TARGET)/%(LCL_PLATFORM);../../packager/units/%(CPU_TARGET)-%(OS_TARGET);. -Fi. -dLCL -dLCL%(LCL_PLATFORM)"/> </CONFIG> Lazarus 1.0 components/lazcontrols/Makefile.compiled: <?xml version="1.0"?> <CONFIG> <Makefile Value="True"/> <Params Value=" -MObjFPC -Scghi -O1 -g -gl -vewnhi -l -Fu../../lcl/units/%(CPU_TARGET)-%(OS_TARGET)/%(LCL_PLATFORM);../../lcl/units/%(CPU_TARGET)-%(OS_TARGET);../lazutils/lib/%(CPU_TARGET)-%(OS_TARGET);../../packager/units/%(CPU_TARGET)-%(OS_TARGET);. -dLCL -dLCL%(LCL_PLATFORM) lazcontrols.pas"/> </CONFIG> |
|
Hm, once I patch Lazarus to include the lazcontrols.pas, I got immediately different error :/ TLazPackageGraph.CheckIfPackageNeedsCompilation Compiler unit paths changed for LazControls 0.0 Old="/usr/lib64/lazarus/lcl/units/x86_64-linux;/usr/lib64/lazarus/lcl/units/x86_64-linux/gtk2;/usr/lib64/lazarus/packager/units/x86_64-linux;/usr/lib64/lazarus/components/lazcontrols" Now="/usr/lib64/lazarus/lcl/units/x86_64-linux;/usr/lib64/lazarus/lcl/units/x86_64-linux/gtk2;/usr/lib64/lazarus/packager/units/x86_64-linux;/usr/lib64/lazarus/components/lazcontrols;/usr/lib64/lazarus/components/lazcontrols;/usr/lib64/lazarus/components/lazcontrols/lib/x86_64-linux" |
|
There's also line missing in lazcontrols.lpk. See attached patch. |
|
Thank you for your outstanding support. I have tried to build Lazarus with your patch without success. The error is still the same. I am not sure if we should not close this ticket, since it seems that the issue is Lazarus issue not DC issue. |
|
Did you do "make" in components/lazcontrols after applying patch? If you built Lazarus with "make" that should work too, I guess. I apply the patch, build lazcontrols with "make", create an empty project that depends on "lazcontrols", the project is built OK and the package is not recompiled. I'm trying this with Lazarus 0.9.30.4 on Windows. |
|
I am trying with Fedora 17 or possibly Rawhide. I applied the patch prior building Lazarus. I expect that the lazcontrols are build during the Lazarus build process. |
|
Maybe there's something wrong with the tools too (lazbuild) not only with files. I made it work on Debian Linux with some more changes (patch attached). "make clean all" from Lazarus root dir rebuilds lazcontrols too. |
|
Thank you. It seems that this patch fixes my issues. Would you mind to report this error upstream? I believe you have now better understanding of the issues than me. Thank you. |
|
OK, great. I think there will be no more releases of Lazarus 0.9.30 and in upcoming Lazarus 1.0 it is fixed, so no need to report it. |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-02-23 16:52 | vo.x | New Issue | |
2012-02-27 19:55 | cobines | Note Added: 0000383 | |
2012-03-06 16:44 | cobines | Assigned To | => cobines |
2012-03-06 16:44 | cobines | Status | new => feedback |
2012-03-09 15:45 | bkabrda | Note Added: 0000407 | |
2012-03-09 18:09 | cobines | Note Added: 0000409 | |
2012-03-10 22:27 | cobines | Note Added: 0000432 | |
2012-03-15 13:27 | bkabrda | Note Added: 0000462 | |
2012-04-17 17:44 | cobines | Note Added: 0000580 | |
2012-04-17 17:56 | bkabrda | Note Added: 0000581 | |
2012-04-17 18:08 | cobines | Note Added: 0000582 | |
2012-04-27 14:55 | vo.x | Note Added: 0000630 | |
2012-04-27 14:55 | vo.x | Status | feedback => assigned |
2012-04-27 15:14 | cobines | Note Added: 0000631 | |
2012-05-01 00:38 | vo.x | Note Added: 0000670 | |
2012-05-01 13:15 | cobines | File Added: lazcontrols.diff | |
2012-05-01 13:15 | cobines | Note Added: 0000671 | |
2012-05-02 12:19 | vo.x | Note Added: 0000674 | |
2012-05-02 12:48 | cobines | Note Added: 0000676 | |
2012-05-02 23:19 | vo.x | Note Added: 0000684 | |
2012-05-03 07:56 | cobines | Note Added: 0000686 | |
2012-05-03 07:56 | cobines | File Added: lazcontrols2.diff | |
2012-05-10 11:14 | vo.x | Note Added: 0000735 | |
2012-05-10 18:12 | cobines | Note Added: 0000740 | |
2012-05-10 18:12 | cobines | Status | assigned => resolved |
2012-05-10 18:12 | cobines | Resolution | open => no change required |
2016-06-26 12:01 | Alexx2000 | Status | resolved => closed |