Recent

Author Topic: Lazarus Release 2.2.2  (Read 31608 times)

mattias

  • Administrator
  • Full Member
  • *
  • Posts: 184
    • http://www.lazarus.freepascal.org
Lazarus Release 2.2.2
« on: May 19, 2022, 09:26:08 am »
The Lazarus team is glad to announce the release of Lazarus 2.2.2.

This is a bugfix release and was built with FPC 3.2.2.

Here is the list of changes for Lazarus and Free Pascal:
http://wiki.lazarus.freepascal.org/Lazarus_2.2.0_release_notes
http://wiki.lazarus.freepascal.org/User_Changes_3.2.2

Here is the list of fixes for Lazarus 2.2.x:
https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_2_2

The release is available for download on SourceForge:
http://sourceforge.net/projects/lazarus/files/

Choose your CPU, OS, distro and then the "Lazarus 2.2.2" directory.

Checksums for the SourceForge files:
https://www.lazarus-ide.org/index.php?page=checksums#2_2_2

Minimum requirements:

Windows:
   2k, XP, Vista, 7, 8, 8.1 and 10, 32 or 64bit.

FreeBSD/Linux:
   gtk 2.24 for gtk2, qt4.5 for qt, qt5.6 for qt5, 32 or 64bit.

Mac OS X:
   Cocoa (64bit) 10.12 to 12.3, Carbon (32bit) 10.5 to 10.14, qt and  qt5 (32 or 64bit).

The gitlab page:
https://gitlab.com/freepascal.org/lazarus/lazarus/-/tree/lazarus_2_2_2

For people who are blocked by SF, the Lazarus releases from SourceForge are mirrored at:ftp://ftp.freepascal.org/pub/lazarus/releases/

loaded

  • Hero Member
  • *****
  • Posts: 824
Re: Lazarus Release 2.2.2
« Reply #1 on: May 19, 2022, 10:09:41 am »
Many thanks to the lazarus developers. :)
Check out  loaded on Strava
https://www.strava.com/athletes/109391137

Zvoni

  • Hero Member
  • *****
  • Posts: 2300
Re: Lazarus Release 2.2.2
« Reply #2 on: May 19, 2022, 10:20:06 am »
Quick question: Is it still the "official" recommendation, to use the 32-Bit Version of Lazarus on 64-Bit Windows, and then rather to cross-compile your project to 64-Bit?

And many thx to the Lazarus-Devs
One System to rule them all, One Code to find them,
One IDE to bring them all, and to the Framework bind them,
in the Land of Redmond, where the Windows lie
---------------------------------------------------------------------
Code is like a joke: If you have to explain it, it's bad

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release 2.2.2
« Reply #3 on: May 19, 2022, 11:52:41 am »
Quick question: Is it still the "official" recommendation, to use the 32-Bit Version of Lazarus on 64-Bit Windows, and then rather to cross-compile your project to 64-Bit?
Not sure where/when this recommendation came to be....

But I am using the 64 bit version.
[[EDIT: I am using fpc 3.2.3]]

And I would recommend, if you have a 64 bit PC and a 64bit Windows:
- If you compile all your projects to 32 bit, and 32 bit only: Use the 32bit IDE (just to save installing the cross compiler / the 64bit + cross32 will work just as fine)
- If you need the WinCe-arm - use the 32bit IDE.
- In all other cases use the 64bit IDE



>>EDIT:

Or maybe this was with regards to the 64bit fpc version 3.2.2

FPC 3.2.2 has several bugs that affect the generated code. Meaning the compiled project will end up with a bug.
They only occur in very rare situations.

One of this bugs has only been observed on Win64.
"observed" => i.e., it may well exist on other targets, it is just not known.
IIRC, in the meantime I heard about a 2nd such issue, that afaik was observed on Linux (not sure of the bitness).

At least the one bug that I observed was in the peephole optimizer.
Because the one place where it triggers is in the IDE (in FpDebug), if you want a working IDE, then you should compile Lazarus with -O1 if you rebuild it.

---
EDIT (3):
Just to clarify: A 32 bit IDE cross compiling to 64 bit, will badly impact the debugging abilities. Rather use a 64bit IDE compiled with -O1 (in case of rebuilding it / installing packages / just don't change the setting)
« Last Edit: May 19, 2022, 01:12:01 pm by Martin_fr »

Zvoni

  • Hero Member
  • *****
  • Posts: 2300
Re: Lazarus Release 2.2.2
« Reply #4 on: May 19, 2022, 01:58:19 pm »
Thx for your answer, Martin.

I searched a bit, and the main issue (before Laz1.8 ) was SEH-handling, but that was before Laz1.8.
A second main issue was, that cross-compiling from Laz/FPC-64Bit to 32-Bit was buggy

At least those two are the main ones popping up researching the topic.

And yes, i know about the hassle about PtrInt, PtrUInt...
« Last Edit: May 19, 2022, 03:49:59 pm by Zvoni »
One System to rule them all, One Code to find them,
One IDE to bring them all, and to the Framework bind them,
in the Land of Redmond, where the Windows lie
---------------------------------------------------------------------
Code is like a joke: If you have to explain it, it's bad

RayoGlauco

  • Full Member
  • ***
  • Posts: 174
  • Beers: 1567
Re: Lazarus Release 2.2.2
« Reply #5 on: May 19, 2022, 03:02:24 pm »
Many thanks to the lazarus developers!  :)
To err is human, but to really mess things up, you need a computer.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release 2.2.2
« Reply #6 on: May 19, 2022, 05:10:55 pm »
I searched a bit, and the main issue (before Laz1.8 ) was SEH-handling, but that was before Laz1.8.
A second main issue was, that cross-compiling from Laz/FPC-64Bit to 32-Bit was buggy
SEH is now used by both 32 and 64 FPC for bit Windows.

I am not aware of issues with cross compiling.
There isn't an actual "cross compiler" because of the "Extended" type not existing in 64 bit.
So the "cross" compiler in the Lazarus distribution is actually a normal 32 bit compiler (I.e. the fpc/ppc.exe are 32 bit). So the result should really be the same as if you used the 32bit IDE, because the compiler is the same (it's renamed to fit in as a cross compiler...)

Cross debugging used to be an issue.
But it is no longer if you use the 64 bit IDE.
- The 64bit FpDebug can handle 64 and 32 bit projects.
- GDB can do both do, but needs a helper app (which is part of the setup)

The 32 bit IDE however can only cross debug a 64 bit target when using the gdb debugger.

bobby100

  • Full Member
  • ***
  • Posts: 161
    • Malzilla
Re: Lazarus Release 2.2.2
« Reply #7 on: May 19, 2022, 05:29:49 pm »
Is it just me, or there is no way to install over the previous installation so that the configuration (installed components etc.) would be taken over?
I know it needs the IDE to get re-compiled, and that is not a problem to do, but I didn't found any other way to do it except to install every single component again.

I am still at 2.2.0 RC2 because of this - I just do not want to take the risk for my setup to get lost.

Any solution to my problem?
https://gitlab.com/bobby100 - my Lazarus components and units
https://sourceforge.net/u/boban_spasic/profile/ - my open source apps

https://malzilla.org/ - remainder at my previous life as a web security expert

AFFRIZA 亜風実

  • Full Member
  • ***
  • Posts: 144
Re: Lazarus Release 2.2.2
« Reply #8 on: May 19, 2022, 06:23:11 pm »
Thanks for the Lazarus developers!  O:-)

I'll update real quick.  ;)
Kyoukai Framework: https://github.com/afuriza/kyoukai_framework

Dukung kemerdekaan Donetsk dan Lugansk! Tidak membalas profil berbendera biru-kuning apalagi ber-Bandera.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release 2.2.2
« Reply #9 on: May 19, 2022, 08:28:05 pm »
Is it just me, or there is no way to install over the previous installation so that the configuration (installed components etc.) would be taken over?
I know it needs the IDE to get re-compiled, and that is not a problem to do, but I didn't found any other way to do it except to install every single component again.
I am still at 2.2.0 RC2 because of this

Normally, there should be no need to reinstall anything.

1) If you choose to uninstall the prior version of Lazarus => The uninstaller has a checkbox, if it should delete configs. => Do not check it.

2) If you installed 3rd party packages, and they are not compatible, well yes, then you need to re-install / update yourself  (but if your current packages are RC compatible, they should be fine)

Quote
- I just do not want to take the risk for my setup to get lost.

Your setup is in the "primary config path" => Menu: View > Ide Internals > About IDE
Usually
Code: Text  [Select][+][-]
  1. C:\Users\<<YOUR_NAME>>\AppData\Local\lazarus
So, if you copy that directory, then you have all your settings copied.

There is one optional setup file in your install directory
Code: Text  [Select][+][-]
  1. C:\lazarus\lazarus.cfg
It exists in secondary installations, and has the path to the primary conf dir.

If you have downloaded packages in any other fold, and might need to update them, you can backup them too

OnlinePackageManager downloads are in the Primary Config dir.

If you open a project for testing, you might back it up too. Because the file format for lpi files changed. (Though 2.2 can save the old format too)


So with that you can always restore.
You can even copy your entire install dir. So you can copy it back, rather than doing a new install of the older version.


As for the windows registry. It has no IDE settings.
It only has info for innosetup. So Lazarus is in the list of installed apps, and you can uninstall it from there.
And it has file associations, so you can double click. But a new install leaves them intact.




Note if you put new versions of a 3rd party package in a new folder, the IDE still knows the old folder. It should update this once you open the package from the new location.

<primary conf path>\packagefiles.xml

korba812

  • Sr. Member
  • ****
  • Posts: 390
Re: Lazarus Release 2.2.2
« Reply #10 on: May 19, 2022, 09:31:13 pm »
Quick question: Is it still the "official" recommendation, to use the 32-Bit Version of Lazarus on 64-Bit Windows, and then rather to cross-compile your project to 64-Bit?
IIRC The problem with cross compiling win64 to win32 is that the win64 platform does not know Extended (80bit float) type. Solution is software support for this type, but I don't know how much progress is being made on it, and probably only in trunk.

bobby100

  • Full Member
  • ***
  • Posts: 161
    • Malzilla
Re: Lazarus Release 2.2.2
« Reply #11 on: May 19, 2022, 09:44:38 pm »
Thanks, Martin_fr, it worked. The only thing that was also needed is to re-compile the IDE at the end of the installation.
https://gitlab.com/bobby100 - my Lazarus components and units
https://sourceforge.net/u/boban_spasic/profile/ - my open source apps

https://malzilla.org/ - remainder at my previous life as a web security expert

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release 2.2.2
« Reply #12 on: May 19, 2022, 10:18:49 pm »
Quick question: Is it still the "official" recommendation, to use the 32-Bit Version of Lazarus on 64-Bit Windows, and then rather to cross-compile your project to 64-Bit?
IIRC The problem with cross compiling win64 to win32 is that the win64 platform does not know Extended (80bit float) type. Solution is software support for this type, but I don't know how much progress is being made on it, and probably only in trunk.

AFAIK: The "extended" type is (one of?) the reason(s) why there is no official FPC cross compiler from Win64 to Win32.

However the "fpc cross compiler" for the official Lazarus does work. You can use a 64 bit IDE. Write an app that uses "Extended" and cross compile a 32 bit exe that will have proper "extended" values. The "fpc cross compiler" by Lazarus is a native 32bit FPC executable. The same FPC compiler that comes with the 32bit IDE, just renamed.

If you have a PC that can not run 32 bit executables then you have a problem. (Because then neither the 32bit IDE+fpc / nor the "cross fpc to 32bit" will work).

---
If you want to develop for 64 and 32 bit Windows => use the 64 bit IDE (restricted to -O1).

Rafael.Castro

  • Newbie
  • Posts: 5
Re: Lazarus Release 2.2.2
« Reply #13 on: May 20, 2022, 12:06:55 am »
I Love Lazarus !  :)

d.ioannidis

  • Full Member
  • ***
  • Posts: 221
    • Nephelae
Re: Lazarus Release 2.2.2
« Reply #14 on: May 20, 2022, 10:21:04 am »
Hi,

  can I ask which FPC branch/tag at gitlab this Lazarus release uses ?

  I tried to compile ppcrossavr for this particular FPC version from fixes_3_2 and from release_3_2_2 and I always get PPU invalid version .

Code: Pascal  [Select][+][-]
  1. [0.015] Unitsearch: system.ppu
  2. [0.015] Unitsearch: system.pp
  3. [0.015] Unitsearch: system.pas
  4. [0.015] Unitsearch: G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\units\release\avr-embedded\avr5\rtl\system.ppu
  5. [0.015] PPU Loading G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\units\release\avr-embedded\avr5\rtl\system.ppu
  6. [0.015] (SYSTEM)   PPU Name: G:\Programming\dimitris\tools\laz-2.2.2_fpc-3.2.2\fpc\3.2.2\units\release\avr-embedded\avr5\rtl\system.ppu
  7. [0.015] (SYSTEM)   PPU Invalid Version 208


EDIT: added Lazarus FPC output messages


regards,
« Last Edit: May 20, 2022, 10:33:11 am by Dimitrios Chr. Ioannidis »

 

TinyPortal © 2005-2018