[Lazarus] Lazarus totally destroyed... :(

Michael Van Canneyt michael at freepascal.org
Fri Nov 20 13:09:18 CET 2020

On Fri, 20 Nov 2020, Mattias Gaertner via lazarus wrote:

> On Fri, 20 Nov 2020 11:32:49 +0100 (CET)
> Michael Van Canneyt via lazarus <lazarus at lists.lazarus-ide.org> wrote:
>> Hello,
>> - Updated Lazarus from SVN. 
>> - Lazarus no longer compiles (FPC 3.2)
> It compiles here.


home:~/lazarus>  svn status -q
home:~/lazarus> delp -r .
DelPascal Version 1.3
Copyright (c) 1999-2012 by the Free Pascal Development Team

  - Removed 67 *.compiled (32.215 Bytes)
  - Removed  2 *.o (20.664 Bytes)
  - Removed  2 *.ppu (5.374 Bytes)
  - Total 58.253 Bytes Freed
home:~/lazarus> make ide PP=ppcx64-3.2.0
make -C ide ide
make[1]: Entering directory '/home/michael/projects/lazarus/ide'
/bin/mkdir -p ../units/x86_64-linux/gtk2
make -C ../tools svn2revisioninc OS_TARGET=linux CPU_TARGET=x86_64 OPT=''
make[2]: Entering directory '/home/michael/projects/lazarus/tools'
Makefile:2956: warning: overriding recipe for target '.'
Makefile:2954: warning: ignoring old recipe for target '.'
ppcx64-3.2.0 -gl -Fu. -Fu../components/lazutils/lib/x86_64-linux -Fu../lcl/units/x86_64-linux -Fu../lcl/units/x86_64-linux/nogui -Fu/usr/local/lib/fpc/3.2.0/units/x86_64-linux/rtl -FE. -FU. -Cg -Fl/usr/lib/gcc/x86_64-linux-gnu/7 -Flinclude -Fl/etc/ld.so.conf.d/*.conf -dx86_64 svn2revisioninc.pas
svn2revisioninc.pas(62,3) Fatal: Can't find unit FileUtil used by Svn2RevisionInc
Fatal: Compilation aborted
Makefile:2967: recipe for target 'svn2revisioninc' failed
make[2]: *** [svn2revisioninc] Error 1
make[2]: Leaving directory '/home/michael/projects/lazarus/tools'
Makefile:5098: recipe for target 'revisioninc' failed
make[1]: *** [revisioninc] Error 2
make[1]: Leaving directory '/home/michael/projects/lazarus/ide'
Makefile:3610: recipe for target 'ide' failed
make: *** [ide] Error 2

As you can see, no modified files, no stray .ppu or .o.
But it does not compile.

I did then a completely new checkout of the IDE, then I can compile it on the command-line.

If I then start the new binary and ask to build from inside the IDE, the error with LazControlDsgn
again pops up. After I fix that, it compiles.

However, when restarting, I get attached layout. Not really nice.

If I remove the config dir ~/.lazarus (I know of no other way to fix the
layout thing), again: crash:

home:~/lazarus> ./lazarus

(lazarus:12619): Gtk-WARNING **: 13:08:24.335: Unable to locate theme engine in module_path: "adwaita",
Hint: (lazarus) [TMainIDE.ParseCmdLineOptions] PrimaryConfigPath="/home/michael/.lazarus"
Hint: (lazarus) [TMainIDE.ParseCmdLineOptions] SecondaryConfigPath="/etc/lazarus"
[TIDEProtocol.Load]  error reading "/home/michael/.lazarus/protocol.xml": Access violation
[TEnvironmentOptions.Load]  error reading "/home/michael/.lazarus/environmentoptions.xml": Access violation
Hint: (lazarus) [TMainIDE.Destroy] B  -> inherited Destroy... TMainIDE
Hint: (lazarus) [TMainIDE.Destroy] END
[FORMS.PP] ExceptionOccurred
   Exception=Access violation
   Stack trace:
   $00000000004408D0  SYSGETMEM_FIXED,  line 963 of ../inc/heap.inc
   $0000000000440C25  SYSGETMEM,  line 1082 of ../inc/heap.inc
   $00000000004414F7  SYSREALLOCMEM,  line 1478 of ../inc/heap.inc
   $000000000043F732  REALLOCMEM,  line 350 of ../inc/heap.inc
   $0000000000C46607  ADD,  line 548 of idetranslations.pas
   $0000000000C44D04  COLLECTTRANSLATIONS,  line 189 of idetranslations.pas
   $0000000000C4626B  TRANSLATERESOURCESTRINGS,  line 504 of idetranslations.pas
   $00000000004B77CE  LOADGLOBALOPTIONS,  line 1251 of main.pp
   $00000000004B9112  CREATE,  line 1528 of main.pp
   $00000000004208D6  main,  line 141 of lazarus.pp
   $000000000044C910  SYSENTRY,  line 141 of system.pp
TApplication.HandleException: EAccessViolation

So, seems to me there is a combination of things happening:

- Some old config files in my lazarus tree prevent compiling - fixed by
   doing a new checkout.

- Clearly not everything is cleaned regarding compile files:
   see LazControlDsgn issue (this is in the new checkout).

- When upgrading an 'old' lazarus config, some things seem to go awry when restoring window positions.

- The IDE does not handle missing ~/.lazarus any more.

I tried using startlazarus, but this gives the same issue.


More information about the lazarus mailing list