Recent

Author Topic: Can't recompile Lazarus 3.0 on Ventura  (Read 4344 times)

svenke

  • Newbie
  • Posts: 1
Can't recompile Lazarus 3.0 on Ventura
« on: December 24, 2023, 07:59:11 am »
Warning: Recompiling DateTimePicker, checksum changed for /Applications/Lazarus/lcl/units/x86_64-darwin/lclintf.ppu

datetimepicker.pas(85,12) Error: Can't find unit DateTimePicker used by DateTimeCtrls


Uninstalled previous version of Lazarus and FPC with UninstallPKG.app and deleted the .Lazarus directory before installing 3.0.

TorBreines

  • Newbie
  • Posts: 2
Re: Can't recompile Lazarus 3.0 on Ventura
« Reply #1 on: January 04, 2024, 09:32:40 pm »
I experienced just the same error. I am not able to rebuild Lazarus after updating to v. 3.0.
I had to go back to v. 2.2.6 to get Lazarus working again.

Giano

  • Newbie
  • Posts: 1
Re: Can't recompile Lazarus 3.0 on Ventura
« Reply #2 on: January 08, 2024, 09:00:41 pm »
I have the same exact error on these plateforms :
- MacPro 2013, macOS Monterey
- MacBook Pro M2 Max, macoOS Sonoma

The autocomplete works very badly after a compilation, it stumbles with an unknown unit.
The IDE behaviour becomes erratic when I want to create a new event method. As long as I don't compile, the IDE works correctly but after the compilation......

I will have to go back to v2.2.6 and wait for a stable release.

shayneoneill

  • Newbie
  • Posts: 3
Re: Can't recompile Lazarus 3.0 on Ventura
« Reply #3 on: February 17, 2024, 04:56:29 pm »
Ok, I thought I was going mad. I'm having the exact same issue.

I wonder if theres a way to extract the missing sources from one of he other OS distributions.

TRon

  • Hero Member
  • *****
  • Posts: 3497
This tagline is powered by AI

pavt

  • Newbie
  • Posts: 1
Re: Can't recompile Lazarus 3.0 on Ventura
« Reply #5 on: March 13, 2024, 08:53:32 am »
Unfortunately, this issue is still not corrected even if applied all what is mentioned in https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/40656. As I have checked, all my source files have already implemented the changes mentioned in the solution there, but this did not help.

It seems, that there is some more general issue in re-compiling the LCL lib.

Clean install with recompiling IDE with profile Normal leads to mentioned error:

datetimepicker.pas(85,12) Error: Can't find unit DateTimePicker used by DateTimeCtrls

If I remove the DateTimeCtrls1.5.1 and DateTimeCtrsDsgn 1.5.1 in order to bypass the mentioned error I get another compiling error, this time:

lazhelpchm.pas(85,12) Error: Can't find unit LazHelpCHM used by lhelpcontrolpkg

Removing ChmHelpPkg 0.2.1 leads to another error:

uPSR_stdctrls.pas(85,12) Error: Can't find unit uPSR_stdctrls used by pascalscript

I did not continued in removing standard components, while this makes no sense. I have tested compiling simple project with the TDateTimePicker component and this seams to be working fine.

I would really appreciate removing this problem while unfortunately I have to stay with version 2.2.6.

Tested on MacOS Sonoma and 10.14.6, Lazarus 3.2. Previous version 2.2.6 was before installing 3.2 archived in other directory, same with .Lazarus folder in the user directory.

JudgeGroovyman

  • Newbie
  • Posts: 1
Re: Can't recompile Lazarus 3.0 on Ventura
« Reply #6 on: October 15, 2024, 08:43:49 pm »
This seems to be a common problem on Mseries (ARM) Macs. 

Workaround for these users
 The workaround at the bottom of this thread https://forum.lazarus.freepascal.org/index.php/topic,65829.msg505255.html#msg505255 seems to be accepted by several users. 

I eventually got it working using the other installer called 'fpcupdeluxe' but had to do 'setattr -cr' on it first so see the threads I linked below and hmu if you have any other questions.

I have read all of the threads I could find on this topic (which contrary to popular belief were not easy to find via search):


Longer term proposal to the team:
It seems to me that some or all of the following actions should be taken:
  • Adjust the Lazarus installer for x86_64 to respect the 'destination select' step to allow for the user to select a custom install folder.  At least when you click on 'customize' it should do that
  • Adjust the Lazarus installer to add a notification like:
    Quote
    Attention Apple Silicon users.  If you ever wish to be able to install modules or rebuild lazarus please select "customize" and select an install location somewhere in your home directory.
    or
    Quote
    Attention Apple Silicon users: See this forum thread for important information about this installation
  • On the downloads page https://www.lazarus-ide.org/index.php?page=downloads  add a third bullet for "Lazarus MacOS aarch64 (Apple Silicon M1/M2 etc.)" which links to a readme with a brief explanation of the issue and step by step instructions for all of the workaround options or at least one of the threads addressing this issue from this forum.
  • Add a warning at the bottom of that page that for Apple silicon macs workarounds will be required if you ever wish to be able to install modules or rebuild lazarus and link to a readme or at least one of the threads above from this forum
  • A warning about this in the Tools->Configure Build Lazarus window.  Conditionally the warning could appear only when you select the aarch architecture in that menu.
  • At the very least add a sticky at the top of the installation forum here documenting the issue, all of the most relevant threads and several of the possible workarounds.  (bonus: this new sticky thread could be what you link to from the other steps)

I recognize that we can't just squash this problem at its source at this point but we have the power to do some or most of these things to improve the experience for all new users who have this architecture. 

TRon

  • Hero Member
  • *****
  • Posts: 3497
Re: Can't recompile Lazarus 3.0 on Ventura
« Reply #7 on: October 15, 2024, 10:51:55 pm »
@JudgeGroovyman:
intention: good
suggestion: not so  :)

The idea behind what should happen is that you can install Lazarus where applications are suppose to be installed on your system.

However, when you need to rebuild Lazarus then that location is usually not up for playing game as and end-user is not suppose to have write access to location where software is installed.

The suggested workaround that is linked to is therefor working but technically incorrect, see further.

That is why Lazarus is suppose to store its rebuild in the Lazarus configuration directory. That process should be done in the background and the user is not suppose to be burdened by it.

Alas there is/was a twofold bug, one in Lazarus and one in the FPC compiler that prevented this process to perform without issues on certain platforms. To my knowledge both these bugs are reported as having been fixed.

However, in practice and for certain platforms this does not seem to be the case.

Someone has to make the step and actually report that this is still an issue because if there isn't an open issue then there is no knowledge that there is an issue and nobody will have a look at it because officially there isn't an issue.

I have been keeping an eye on this issue for quite some time now and quite honestly I lost track between the many reports which are opened, closed, re-opened and transferred from FPC to Lazarus and vice verse.
This tagline is powered by AI

 

TinyPortal © 2005-2018