Recent

Author Topic: Preparing FPC 3.2.4, point out road blocks now  (Read 120932 times)

AlexTP

  • Hero Member
  • *****
  • Posts: 2673
    • UVviewsoft

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12659
  • FPC developer.
Re: Preparing FPC 3.2.4, point out road blocks now
« Reply #166 on: January 23, 2025, 09:42:49 pm »
To my best knowledge, the last merge was September 23th:

https://gitlab.com/freepascal.org/fpc/source/-/commits/release_3_2_4-branch

PascalDragon

  • Hero Member
  • *****
  • Posts: 6325
  • Compiler Developer
Re: Preparing FPC 3.2.4, point out road blocks now
« Reply #167 on: January 23, 2025, 10:34:10 pm »
Please consider adding COM-related patches to new release and, if possible, to fixes branch:

https://gitlab.com/freepascal.org/fpc/source/-/issues/41009
https://gitlab.com/freepascal.org/fpc/source/-/issues/41005

These are not even in main yet, so it's very unlikely that they be in 3.2.4.

https://gitlab.com/freepascal.org/fpc/source/-/commit/ac510d391f9d784a00275836715a25a41331460f

That can maybe be merged after the RC.

Can you apply this fix, made in Git 2 years ago?
https://gitlab.com/freepascal.org/fpc/source/-/commit/48b97514193933e20c354a459c1cb37ca8edeb6c

That can maybe also be merged after the RC.

Just release. Other than what is already known at least on my platforms ( quite a lot) I haven't found anything serious. Is the problem just release nanament?
Surely one minor platform can not Withhold a point release!

Yes, the issue is release management, because major targets are still missing.

cpicanco

  • Hero Member
  • *****
  • Posts: 674
  • Behavioral Scientist and Programmer
    • Portfolio
Re: Preparing FPC 3.2.4, point out road blocks now
« Reply #168 on: January 26, 2025, 11:17:06 pm »
Hi everyone, great work! You’re all awesome!

I was testing Lazarus RC2 (https://forum.lazarus.freepascal.org/index.php/topic,69820.60.html) and encountered an issue with a project that compiles without problems in the trunk but fails to compile in RC2 due to differences between FPC trunk and FPC 3.2.2. Would you recommend addressing these issues for FPC 3.2.4?

1) In Generics.Default, FPC trunk uses const (instead of constref) in TComparer.Compare:

Code: Pascal  [Select][+][-]
  1.   TComparer<T> = class(TInterfacedObject, IComparer<T>)
  2.   public
  3.     class function Default: IComparer<T>; static;
  4.     function Compare(constref ALeft, ARight: T): Integer; virtual; abstract; overload;
  5.  
  6.     class function Construct(const AComparison: TOnComparison<T>): IComparer<T>; overload;
  7.     class function Construct(const AComparison: TComparisonFunc<T>): IComparer<T>; overload;
  8.   end;  

2) FPC 3.2.2 do not propagate String helpers for ShortString's. Hence:

Code: Pascal  [Select][+][-]
  1. // one may change this
  2. TObject.ClassName.Replace('T', '');
  3.  
  4. // to this
  5. String(TObject.ClassName).Replace('T', '');

3) I am getting an internal error 200510032, and also "Undefined symbol: .Lj2139" when trying to use .ToInteger helper with a specialized TDictionary:

Code: Pascal  [Select][+][-]
  1. program rc2test;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. uses
  6.   {$IFDEF UNIX}
  7.   cthreads,
  8.   {$ENDIF}
  9.   Classes,
  10.   SysUtils,
  11.   Generics.Collections;
  12.  
  13.   procedure DoIt;
  14.   type
  15.     TMyDictionary = specialize TDictionary<string, string>;
  16.  
  17.   var
  18.     MyDictionary : TMyDictionary;
  19.  
  20.   begin
  21.     MyDictionary := TMyDictionary.Create;
  22.     try
  23.        MyDictionary.Add('Key', '1');
  24.        WriteLn(MyDictionary['Key'].ToInteger);
  25.     finally
  26.        MyDictionary.Free;
  27.     end;
  28.   end;
  29.  
  30. begin
  31.   DoIt;
  32.   ReadLn;
  33. end.

I managed to compile it doing some refactoring:

Code: Pascal  [Select][+][-]
  1. var
  2.   s1 : string;
  3.  
  4. begin
  5.   s1 := MyDictionary['Numeric'];
  6.   WriteLn(s1.ToInteger);
  7. end;

4) TEvent.Create, from syncobjs unit is not overloaded in FPC 3.2.2, so one must create it explicitly. FPC 3.3.1 will call "BasicEventCreate(nil, True,False,'')" when using the overloaded constructor.
Be mindful and excellent with each other.
https://github.com/cpicanco/

PeterBB

  • Jr. Member
  • **
  • Posts: 89
Re: Preparing FPC 3.2.4, point out road blocks now
« Reply #169 on: March 30, 2025, 02:12:22 pm »
I've just noticed that there is a release candidate (beta) here

https://downloads.freepascal.org/fpc/beta/3.2.4-rc1/


BSaidus

  • Hero Member
  • *****
  • Posts: 648
  • lazarus 1.8.4 Win8.1 / cross FreeBSD
Re: Preparing FPC 3.2.4, point out road blocks now
« Reply #170 on: March 30, 2025, 06:26:47 pm »
 :o, there is no OpenBSD port ?
What happen ?
lazarus 1.8.4 Win8.1 / cross FreeBSD
dhukmucmur vernadh!

Thaddy

  • Hero Member
  • *****
  • Posts: 18729
  • To Europe: simply sell USA bonds: dollar collapses
Re: Preparing FPC 3.2.4, point out road blocks now
« Reply #171 on: March 30, 2025, 07:02:32 pm »
:o, there is no OpenBSD port ?
What happen ?
See the quote from PascalDragon above. Major targets are missing. (in the sense that they are not pre-built, but you can build 3.2.4 from source)
If Europe sells their USA bonds the USD will collapse. Europe can affort that given average state debts. The USA can't affort that. Just an advice...

Fred vS

  • Hero Member
  • *****
  • Posts: 3788
    • StrumPract is the musicians best friend
Re: Preparing FPC 3.2.4, point out road blocks now
« Reply #172 on: March 30, 2025, 07:21:31 pm »
:o, there is no OpenBSD port ?
What happen ?

Here: https://downloads.freepascal.org/fpc/beta/3.2.3/3.2.4/
But 2 years old and not working on last OpenBSD.
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

BSaidus

  • Hero Member
  • *****
  • Posts: 648
  • lazarus 1.8.4 Win8.1 / cross FreeBSD
Re: Preparing FPC 3.2.4, point out road blocks now
« Reply #173 on: March 30, 2025, 10:43:10 pm »
:o, there is no OpenBSD port ?
What happen ?
See the quote from PascalDragon above. Major targets are missing. (in the sense that they are not pre-built, but you can build 3.2.4 from source)

Why not building them ? what is the reasons ?
 :(
lazarus 1.8.4 Win8.1 / cross FreeBSD
dhukmucmur vernadh!

PascalDragon

  • Hero Member
  • *****
  • Posts: 6325
  • Compiler Developer
Re: Preparing FPC 3.2.4, point out road blocks now
« Reply #174 on: April 01, 2025, 09:23:49 pm »
Why not building them ? what is the reasons ?
 :(

Because it needs someone to build (and test) them. If none of the devs has a suitable machine (be it physical or VM) then one can't simply build one.

Alexx2000

  • New Member
  • *
  • Posts: 22
Re: Preparing FPC 3.2.4, point out road blocks now
« Reply #175 on: June 07, 2025, 02:19:22 pm »
The current situation is a very sad. The bug-fix release can't be released 4 years! To an outside observer, it looks like the project is dead. If some platform does not have a maintainer then simply don't release a binary builds for it.

Fred vS

  • Hero Member
  • *****
  • Posts: 3788
    • StrumPract is the musicians best friend
Re: Preparing FPC 3.2.4, point out road blocks now
« Reply #176 on: June 07, 2025, 03:40:36 pm »
The current situation is a very sad. The bug-fix release can't be released 4 years! To an outside observer, it looks like the project is dead. If some platform does not have a maintainer then simply don't release a binary builds for it.

For clang, gcc, Delphi, their release frequency is 6 months.

https://github.com/clangd/clangd/wiki/Release-cycle
https://gcc.gnu.org/develop.html
https://en.wikipedia.org/wiki/History_of_Delphi_(software)

But I admit, as a project maintainer myself, producing releases isn't the most exciting part of the job and requires a lot of work.
It's a bit like vehicle inspections (or university exams): it's boring to do but feels so good when it's done.

I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

Fred vS

  • Hero Member
  • *****
  • Posts: 3788
    • StrumPract is the musicians best friend
Re: Preparing FPC 3.2.4, point out road blocks now
« Reply #177 on: June 07, 2025, 04:05:50 pm »
And regarding the frequency of publishing releases and the different sensations associated with developing these releases, it's our human nature, condemned to follow Sisyphus's journey to the end.

https://en.wikipedia.org/wiki/The_Myth_of_Sisyphus

Amen.
« Last Edit: June 07, 2025, 04:24:14 pm by Fred vS »
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

BSaidus

  • Hero Member
  • *****
  • Posts: 648
  • lazarus 1.8.4 Win8.1 / cross FreeBSD
Re: Preparing FPC 3.2.4, point out road blocks now
« Reply #178 on: June 08, 2025, 12:31:03 pm »
The current situation is a very sad. The bug-fix release can't be released 4 years! To an outside observer, it looks like the project is dead. If some platform does not have a maintainer then simply don't release a binary builds for it.
Hello,
I do not agree with you @Alexx2000. There are many FPC users that works in different platforms and they use the FPC compiler well for there needs, but they do not have enough knowledge to help in FPC compiler development. So, I'm agree with the FPC dev team. The slogan of FPC is, write once & compile anywhere, So It must then work everywhere.
lazarus 1.8.4 Win8.1 / cross FreeBSD
dhukmucmur vernadh!

PeterBB

  • Jr. Member
  • **
  • Posts: 89
Re: Preparing FPC 3.2.4, point out road blocks now
« Reply #179 on: June 08, 2025, 12:45:15 pm »

.... because major targets are still missing.

Hi,

Does anyone know what targets are missing?

Cheers,
Peter

 

TinyPortal © 2005-2018