Recent

Author Topic: Lazarus Release Candidate 3 of 4.0  (Read 10835 times)

dsiders

  • Hero Member
  • *****
  • Posts: 1391
Re: Lazarus Release Candidate 3 of 4.0
« Reply #15 on: March 27, 2025, 07:14:35 pm »
With emphasis on should. In practice it doesn't. Bugreport is still open on that one if not mistaken.

Yes, it is still open.

Install Lazarus in user-space *period* and I will repeat it over and over and over again.

+1
Preview the next Lazarus documentation release at: https://dsiders.gitlab.io/lazdocsnext

zeljko

  • Hero Member
  • *****
  • Posts: 1734
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Lazarus Release Candidate 3 of 4.0
« Reply #16 on: March 27, 2025, 07:45:17 pm »
I've installed Lazarus 4.0RC3 on a Fedora-KDE-41 virtual machine, using the .rpm files provided on SourceForge. I also installed the Development Tools group package, qt5pas-devel and qt6pas-devel with all their associated dependencies.

On my first run of Lazarus, I installed a couple packages (lazdaemon and weblaz), and then tried to compile the IDE for qt5 and qt6 (Tools > Configure Build lazarus... etc.) Both attempts at building the IDE for qt5 and qt6 fail with a similar message:

Code: [Select]
Build IDE: Exit code 2, Errors: 2
Error: /usr/bin/mkdir: cannot create directory '../units/x86_64-linux/qt5': Permission denied
make[1]: *** [Makefile:4389: ../units/x86_64-linux/qt5] Error 1
*** [Makefile(3130,0) Error: linker: ide] Error 2

This is serious problem indeed (and release stopper imo). Is there any issue number about it ?

RolfW

  • New Member
  • *
  • Posts: 28
Re: Lazarus Release Candidate 3 of 4.0
« Reply #17 on: April 10, 2025, 09:39:20 am »
I've installed RC3 on Windows x64. Made some changes to fpc/packages/fcl-process/src/dbugintf.pp. Downloaded fpc source, applied the new debugintf.pp and run make all ... was ok.
Now I can't recompile Lazarus with the changed compiler:
(10028) Recompiling FPCAdds, checksum changed for C:\lazarus\4.0RC1\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\classes.ppu
C:\lazarus\4.0RC3\Lazarus\components\lazutils\lib\x86_64-win64\fpcadds.ppu:fpcadds.pas(29,16) Fatal: (10022) Can't find unit FPCAdds used by LazUTF8

I've done the same procedure (the same recompiled FPC files) with RC1 and it worked fine. I've compared the lazutlis folder of RC1 and RC3 but I can't find something.

Thanks

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 11006
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 3 of 4.0
« Reply #18 on: April 10, 2025, 10:56:55 am »
(10028) Recompiling FPCAdds, checksum changed for C:\lazarus\4.0RC1\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\classes.ppu
C:\lazarus\4.0RC3\Lazarus\components\lazutils\lib\x86_64-win64\fpcadds.ppu:fpcadds.pas(29,16) Fatal: (10022) Can't find unit FPCAdds used by LazUTF8

Strange LazUTF8 and FPCAdds are both in package LazUils, so the unit should be found.  Well at least in the git main branch. I haven't explicitly checked the fixes-4 branch.

Does the error actually happen while compiling the package LazUtils? Or do you have somehow duplicates of some files?

trapanator

  • New member
  • *
  • Posts: 9
Re: Lazarus Release Candidate 3 of 4.0
« Reply #19 on: April 10, 2025, 11:53:31 am »
I downloaded this 4.0 RC3 for Windows 64 bit, and I tried to install the LazReports and restart the IDE, but I am unable to see it on the components bar.

trapanator

  • New member
  • *
  • Posts: 9
Re: Lazarus Release Candidate 3 of 4.0
« Reply #20 on: April 10, 2025, 12:17:04 pm »
I downloaded this 4.0 RC3 for Windows 64 bit, and I tried to install the LazReports and restart the IDE, but I am unable to see it on the components bar.

I resolved it by loading a LazReports example projects, and here Lazaruz asked me if I want to install missing packages, I left it to do it and I got the new component buttons.

RolfW

  • New Member
  • *
  • Posts: 28
Re: Lazarus Release Candidate 3 of 4.0
« Reply #21 on: April 10, 2025, 12:21:34 pm »
I used Tools/Build Lazarus with profile: Normal IDE.
There are no duplicate files of LazUTF8.pas and FPCAdds.pas. Both are in the same folder.
Compiling lazutils.lpk raises another error:
Warning: Recompiling LazarusPackageIntf, checksum changed for C:\lazarus\4.0RC1\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\classes.ppu
lazutils.pas(23,3) Error: Cannot find LazarusPackageIntf used by LazUtils, incompatible ppu=C:\lazarus\4.0RC3\Lazarus\packager\units\x86_64-win64\lazaruspackageintf.ppu, package FCL
 
(10028) Recompiling FPCAdds, checksum changed for C:\lazarus\4.0RC1\lazarus\fpc\3.2.2\units\x86_64-win64\rtl\classes.ppu
C:\lazarus\4.0RC3\Lazarus\components\lazutils\lib\x86_64-win64\fpcadds.ppu:fpcadds.pas(29,16) Fatal: (10022) Can't find unit FPCAdds used by LazUTF8

Strange LazUTF8 and FPCAdds are both in package LazUils, so the unit should be found.  Well at least in the git main branch. I haven't explicitly checked the fixes-4 branch.

Does the error actually happen while compiling the package LazUtils? Or do you have somehow duplicates of some files?

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 11006
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 3 of 4.0
« Reply #22 on: April 10, 2025, 12:35:33 pm »
I used Tools/Build Lazarus with profile: Normal IDE.

With / without "clean all"?

I am not sure if the IDE always detects the partially changed fpc that you have. So clean all may be needed (even if it may have worked without before). But I don't know the build system deep enough to make that a definite statement.

If you did "clean all" then I don't know the answer.

Further options (workaround / not fix) might be
- rescan fpc source dir
  though that is afaik for completion not compilation
- manually remove all ppu and o file from lazarus to force them being recompiled

RolfW

  • New Member
  • *
  • Posts: 28
Re: Lazarus Release Candidate 3 of 4.0
« Reply #23 on: April 10, 2025, 12:54:21 pm »
I used Tools/Build Lazarus with profile: Normal IDE.

With / without "clean all"?

I am not sure if the IDE always detects the partially changed fpc that you have. So clean all may be needed (even if it may have worked without before). But I don't know the build system deep enough to make that a definite statement.

If you did "clean all" then I don't know the answer.

Further options (workaround / not fix) might be
- rescan fpc source dir
  though that is afaik for completion not compilation
- manually remove all ppu and o file from lazarus to force them being recompiled

This was the trick. Rebuild Lazarus with "Clean all" did it.
Thank you

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 11006
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 3 of 4.0
« Reply #24 on: April 10, 2025, 01:09:58 pm »
Then that is probably "by design" => its the same fpc directory, and the same version.

I don't think the IDE stores details about each ppu in the fpc install. Nor do I think it should. So therefore it wont see that it changed (and yes, it still could by scanning all the file dates, but that can take time, and would make compiling slower).

RolfW

  • New Member
  • *
  • Posts: 28
Re: Lazarus Release Candidate 3 of 4.0
« Reply #25 on: April 10, 2025, 03:44:04 pm »
Then that is probably "by design" => its the same fpc directory, and the same version.

I don't think the IDE stores details about each ppu in the fpc install. Nor do I think it should. So therefore it wont see that it changed (and yes, it still could by scanning all the file dates, but that can take time, and would make compiling slower).

I think that a ppu file stores checksum information of all ppu files it is using (only for the first level ppu's, the ones in a uses statement) . So, at the end, there is a tree of check sum data to validate all files needed to build Lazarus.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 11006
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 3 of 4.0
« Reply #26 on: April 10, 2025, 04:52:42 pm »
I think that a ppu file stores checksum information of all ppu files it is using (only for the first level ppu's, the ones in a uses statement) . So, at the end, there is a tree of check sum data to validate all files needed to build Lazarus.
Yes, but that is for the compiler.

And that is why the compiler say "checksum changed".

So if the compiler is trying to use a PPU for some unit, then it can check if that PPU is "valid".
That is, if that PPU uses other units, and those other PPU are loaded, then the compiler can tell if the former PPU was build with those other PPU. And if not the compiler will (try to) recompile it.

And, if you have no packages, and if all source files are in one folder, then the compiler can see all those sources and do the work.

Well of course if a file in the RTL changed, and that single ppu was substituted, then the RTL source may not be in reach....

And the same happen with packages.
Packages are pre-compiled. After that the compiler only gets to see the ppu, but not the sources.

But that means, if a package needs to be recompiled, the IDE must do that before the package gets used.

And the IDE does not load each PPU to check all checksums. That would mean a lot of work (and time) before the IDE could even start the compiler.

linuxbob

  • New Member
  • *
  • Posts: 13
Re: Lazarus Release Candidate 3 of 4.0
« Reply #27 on: April 11, 2025, 03:31:11 am »
So far so good for me. (admittedly my needs are not complex.)

dbannon

  • Hero Member
  • *****
  • Posts: 3305
    • tomboy-ng, a rewrite of the classic Tomboy
Re: Lazarus Release Candidate 3 of 4.0
« Reply #28 on: April 11, 2025, 12:14:32 pm »
I've installed Lazarus 4.0RC3 on a Fedora-KDE-41 virtual machine, using the .rpm files provided on SourceForge. I also installed the Development Tools group package, qt5pas-devel and qt6pas-devel with all their associated dependencies.

On my first run of Lazarus, I installed a couple packages (lazdaemon and weblaz), and then tried to compile the IDE for qt5 and qt6 (Tools > Configure Build lazarus... etc.) Both attempts at building the IDE for qt5 and qt6 fail with a similar message:

Code: [Select]
Build IDE: Exit code 2, Errors: 2
Error: /usr/bin/mkdir: cannot create directory '../units/x86_64-linux/qt5': Permission denied
make[1]: *** [Makefile:4389: ../units/x86_64-linux/qt5] Error 1
*** [Makefile(3130,0) Error: linker: ide] Error 2

This is serious problem indeed (and release stopper imo). Is there any issue number about it ?

(Sorry, I know its a very late response but I was traveling, busy and remote!)
zeljko, I can confirm that its a bug indeed. But perhaps not a show stopper.

The bug exists on Fedora 41 KDE and Ubuntu22.04KDE and probably all distros. But I have confirmed that building from source does not have a problem, using either the IDE "Build" button or a nice "make clean LCL_PLATFORM=qt5 bigide" from the command line.

The bug also exists in Lazarus 3.0 and this is its first report.

Honestly, installing a binary package and then rebuilding it with a different widgetset seems a very strange thing to do IMHO. Alan has not been back since posting, maybe he could clarify why he wanted to do this ?  Only reason I can think of is he, sensibly, wants to build qt5 apps but thinks, incorrectly, he needs a Qt5 based IDE to do so ?

Given what we ask Lazarus to do when its rebuilding and finds itself in read only space, problems like that are to be expected IMHO. As far as I know, the "rebuild and tuck away in user space" system does not seem to be documented anywhere and while obviously very clever code, not something to play with this late in a release cycle.

AlanK, thanks for the report, this is a real bug and every real bug report received is valuable. On Unix, my advice is always build Lazarus directly from source in user space. Instructions on the wiki.

Davo


Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

zeljko

  • Hero Member
  • *****
  • Posts: 1734
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Lazarus Release Candidate 3 of 4.0
« Reply #29 on: April 11, 2025, 02:41:52 pm »
Why nobody opened issue about it. It's the best way to get it resolved. Many developers don't read forum every day/week .... I've forgot about that problem , but if issue is opened then somebody will take care of it.

 

TinyPortal © 2005-2018