Recent

Author Topic: Lazarus Release Candidate 1 of 4.0  (Read 39264 times)

TRon

  • Hero Member
  • *****
  • Posts: 3822
Re: Lazarus Release Candidate 1 of 4.0
« Reply #30 on: October 28, 2024, 01:39:51 am »
OK, what have you done with the real TRon, the one who knows how to compile and set a PATH ?
:D

But, never in my life will I set a path to an executable ever again. That are dos and windows things, not Linux.

But, just to humour...
Code: Bash  [Select][+][-]
  1. mkdir build
  2. cd build
  3. wget https://sourceforge.net/projects/freepascal/files/Linux/3.2.0/fpc-3.2.0-x86_64-linux.tar
  4. tar xf fpc-3.2.0-x86_64-linux.tar
  5. tar xf fpc-3.2.0-x86_64-linux/binary.x86_64-linux.tar
  6. tar xf base.x86_64-linux.tar.gz
  7. cp lib/fpc/3.2.0/ppcx64 ./ppcx64
  8. rm *.tar.gz
  9. rm -rf bin lib man share fpc-3.2.0-x86_64-linux
  10. rm fpc-3.2.0-x86_64-linux.tar
  11.  
  12. git clone https://gitlab.com/freepascal.org/fpc/source.git
  13. cd source
  14. git tag -l 3.*
  15. git checkout 3.2.3
  16. git status
  17. make clean all install GDB=1 \
  18.     PP="$PWD/../ppcx64" \
  19.     INSTALL_PREFIX="$PWD/../fpc/3.2.3" \
  20.     INSTALL_BASEDIR="$PWD/../fpc/3.2.3" \
  21.     INSTALL_LIBDIR="$PWD/../../build"
  22. mv ../fpc/3.2.3/ppcx64 ../../build/fpc/3.2.3/bin
  23. cd ..
  24. rm -f source
  25.  
  26. git clone https://gitlab.com/freepascal.org/lazarus/lazarus.git
  27. cd lazarus
  28. git status
  29. git tag -l lazarus_4*
  30. git checkout lazarus_4_0_RC_1
  31. git status
  32. make clean bigide FPC="$PWD/../fpc/3.2.3/bin/fpc" OPT="-Fu$PWD/../fpc/3.2.3/units/x86_64-linux/\*"
  33.  

result:
Code: [Select]
controls.pp(64,30) Error: Identifier not found "mrContinue"
controls.pp(64,40) Error: Illegal expression
controls.pp(65,30) Error: Identifier not found "mrTryAgain"
controls.pp(65,40) Error: Illegal expression
controls.pp(195,32) Error: Identifier not found "TAnchorKind"
controls.pp(195,43) Error: Error in type definition
controls.pp(196,29) Error: Identifier not found "TAnchors"
controls.pp(196,37) Error: Error in type definition
controls.pp(197,41) Error: Identifier not found "TAnchorSideReference"
controls.pp(197,61) Error: Error in type definition
controls.pp(206,27) Error: Identifier not found "akLeft"
controls.pp(206,33) Error: Illegal expression
controls.pp(207,26) Error: Identifier not found "akTop"
controls.pp(207,31) Error: Illegal expression
controls.pp(208,28) Error: Identifier not found "akRight"
controls.pp(208,35) Error: Illegal expression
controls.pp(209,29) Error: Identifier not found "akBottom"
controls.pp(209,37) Error: Illegal expression
controls.pp(211,27) Error: Identifier not found "asrTop"
controls.pp(211,33) Error: Illegal expression
controls.pp(212,30) Error: Identifier not found "asrBottom"
controls.pp(212,39) Error: Illegal expression
controls.pp(213,30) Error: Identifier not found "asrCenter"
controls.pp(213,39) Error: Illegal expression
controls.pp(216,13) Error: Identifier not found "asrTop"
controls.pp(216,19) Error: Illegal expression
controls.pp(217,14) Error: Identifier not found "asrBottom"
controls.pp(217,23) Error: Illegal expression
controls.pp(238,33) Error: Identifier not found "TMouseButton"
controls.pp(238,45) Error: Error in type definition
controls.pp(245,27) Error: Identifier not found "mbLeft"
controls.pp(245,33) Error: Illegal expression
controls.pp(246,28) Error: Identifier not found "mbRight"
controls.pp(246,35) Error: Illegal expression
controls.pp(247,29) Error: Identifier not found "mbMiddle"
controls.pp(247,37) Error: Illegal expression
controls.pp(248,29) Error: Identifier not found "mbExtra1"
controls.pp(248,37) Error: Illegal expression
controls.pp(249,29) Error: Identifier not found "mbExtra2"
controls.pp(249,37) Error: Illegal expression
controls.pp(293,33) Error: Illegal expression
controls.pp(293,45) Error: illegal type declaration of set elements
controls.pp(469,64) Error: Type "TMouseButton" is not completely defined
controls.pp(487,30) Error: Identifier not found "TDragKind"
controls.pp(487,39) Error: Error in type definition
controls.pp(488,30) Error: Identifier not found "TDragMode"
controls.pp(488,39) Error: Error in type definition
controls.pp(489,31) Error: Identifier not found "TDragState"
controls.pp(489,41) Error: Error in type definition
controls.pp(490,33) Error: Identifier not found "TDragMessage"
controls.pp(490,33) Fatal: There were 50 errors compiling module, stopping
Fatal: Compilation aborted
Error: /media/ramdisk/build/fpc/3.2.3/bin/ppcx64 returned an error exitcode
make[1]: *** [Makefile:4759: alllclunits.ppu] Error 1
make[1]: Leaving directory '/media/ramdisk/build/lazarus/lcl'
make: *** [Makefile:3142: lazbuild] Error 2

so.... I am happy that someone else is able to build this release candidate of Lazarus with 3.2.3 but am telling that I am not. Is it relevant ? I dunno. The code clearly shows it is not meant to be able to compile.

So that leaves that either the tag for 3.2.3 or the release candidate is off or something in the build process has changed (and yes this problem exists for me since at least 3.6 release of Lazarus but am only now reporting it)
« Last Edit: October 28, 2024, 01:56:54 am by TRon »
I do not have to remember anything anymore thanks to total-recall.

Wallaby

  • Full Member
  • ***
  • Posts: 104
Re: Lazarus Release Candidate 1 of 4.0
« Reply #31 on: October 28, 2024, 01:43:41 am »
The single-window IDE looks fantastic - thanks for making it easily available!

There is however one issue major issue (at least on Windows) that was introduced in this commit.

How to reproduce:

1. Create a new application, add a TLazVirtualStringTree from the LazControls tab.
2. Add a couple of columns into it and set RootNodeCount to 100.
3. Everything seems fine until you run the app on a system with a higher DPI.

For example, if I did the above actions on a system with 125% scaling and then run the app on a system with 200% scaling. The item size is broken and the text is cropped, like shown in the attached screen shot. It worked correctly before the commit mentioned above. Should I file a bug report?


dbannon

  • Hero Member
  • *****
  • Posts: 3199
    • tomboy-ng, a rewrite of the classic Tomboy
Re: Lazarus Release Candidate 1 of 4.0
« Reply #32 on: October 28, 2024, 04:09:29 am »

But, never in my life will I set a path to an executable ever again. That are dos and windows things, not Linux.

But, just to humour...
Code: Bash  [Select][+][-]
  1. ....
  2. make clean bigide FPC="$PWD/../fpc/3.2.3/bin/fpc" OPT="-Fu$PWD/../fpc/3.2.3/units/x86_64-linux/\*"
  3.  

result:
Code: [Select]
controls.pp(64,30) Error: Identifier not found "mrContinue"

OK, focus on mrContine, is defined in all versions of FPC after FPC322, in, eg fpc-3.2.3/packages/rtl-objpas/src/inc/system.uitypes.pp:472:  mrContinue = mrNone + 12;

Now, it appears in  lcl/controls.pp:64, wrapped in {$IF FPC_FULLVERSION>=30203} because its NOT available in FPC322

That says to me you have some units, somewhere that belong to FPC322. 

I depend on PATH  :) and fpc.cfg. Every entry in fpc.cfg uses only replaceable parameters so it does not need any changes. If I do change my PATH (to change the compiler), I load up Lazarus and do a Cleanup And Build for each and every active widget set. I don't, casually, swap from one compiler to another because I have had this problem when compiling an app IN lazarus and it does take some effort to get a clean build. You have a does of the same thing but at a different level.

It does come back to our earlier discussion about how good it would be to have an option to FPC or a standalone utility, that showed us exactly the paths to all units that will be used. 

You, TRon, need to go over the paths in the in-use fpc.cfg and see if they all make sense. And, then, blow away all compiled units outside their own FPC tree.

Have fun.

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

TRon

  • Hero Member
  • *****
  • Posts: 3822
Re: Lazarus Release Candidate 1 of 4.0
« Reply #33 on: October 28, 2024, 05:25:26 am »
Hi dbannon,

Let me start by saying that I truly appreciate the help and time you spent on this because I really do/am.

fwiw: It is/was not the intention to start a discussion.

OK, focus on mrContine, is defined in all versions of FPC after FPC322, in, eg fpc-3.2.3/packages/rtl-objpas/src/inc/system.uitypes.pp:472:  mrContinue = mrNone + 12;
Yes, I know exactly what the issue is, see also the solution that was posted in the lazarus 3.6 release thread (though it is not the correct solution, it makes lazarus build).

I really must be blind then because when looking at gitlab for the 3.2.3 release, there is no such a thing as mrContinue.

Quote
Now, it appears in  lcl/controls.pp:64, wrapped in {$IF FPC_FULLVERSION>=30203} because its NOT available in FPC322
Because mrContinue does not exist in 3.2.3 the check should have been {$IF FPC_FULLVERSION>30203} (as also suggested in the other thread, but there are many other places where this is wrong)

Quote
That says to me you have some units, somewhere that belong to FPC322. 
The bash output was meant to indicate that there is not such a thing, it is a pristine machine/setup. But to humour, i've added the -n option as well as -va. Unfortunately that provides a log of 110 mb so unable to attach.

Quote
I depend on PATH  :) and fpc.cfg. Every entry in fpc.cfg uses only replaceable parameters so it does not need any changes.
yes, for me as well only for one thing and one thing only: my scripts directory.

On my dev machine one fpc.cfg to rule them all but nowhere in any system directory, in order to always be able to say: no I do not have a dangling fpc.cfg or .fpc.cfg anywhere (because there really isn't any  :)


Quote
You, TRon, need to go over the paths in the in-use fpc.cfg and see if they all make sense. And, then, blow away all compiled units outside their own FPC tree.
The setup is pristine. There are no paths, not any configuration file and/or whatever FPC and/or Lazarus.

Quote
Have fun.
Please, help me find back my sight again because I seem to have lost it and which takes away any fun there might be (or might have been)  :)

Again, I appreciate the help.
« Last Edit: October 28, 2024, 05:32:13 am by TRon »
I do not have to remember anything anymore thanks to total-recall.

dbannon

  • Hero Member
  • *****
  • Posts: 3199
    • tomboy-ng, a rewrite of the classic Tomboy
Re: Lazarus Release Candidate 1 of 4.0
« Reply #34 on: October 28, 2024, 07:56:26 am »
OK, here is what I think is happening.

In the FPC repository, there is -

A branch : fixes_3_2 that currently identifies itself as being fpc 3.2.3 see -
compiler/version.pas:32 version_nr = '3';
packages/rtl-objpas/src/inc/system.uitypes.pp:490     'mrContinue',


A tagged 'version' : also identifies itself as being 3.2.3
compiler/version.pas:32 version_nr = '3';
packages/rtl-objpas/src/inc/system.uitypes.pp does not contain  'mrContinue',

FPC 3.2.3, being a development version, changes. At some stage, fixes_3_2 was tagged but continued to be developed. Some time later, branch_3_2_4_RC_1 was forked off, from fixes, not, apparently, 3.2.3.

Grab a copy of fixes_3_2, it will call itself 3.2.3 and it does have those identifiers !

As a matter of interest, see my FPC directory (if I'd looked a bit more carefully, I would have spotted what is going on) -

Code: Bash  [Select][+][-]
  1. dbannon@dell:~/bin/FPC/SRC$ ls -la
  2. total 1356
  3. drwxrwxr-x  8 dbannon dbannon    4096 Sep 20 17:20 .
  4. drwxrwxr-x 13 dbannon dbannon    4096 Oct 18 20:00 ..
  5. lrwxrwxrwx  1 dbannon dbannon      16 Sep 20 17:20 fpc-3.2.3 -> source-fixes_3_2
  6. lrwxrwxrwx  1 dbannon dbannon      27 Jul 22 21:43 fpc-3.2.4 -> source-release_3_2_4-branch
  7. ....

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

TRon

  • Hero Member
  • *****
  • Posts: 3822
Re: Lazarus Release Candidate 1 of 4.0
« Reply #35 on: October 28, 2024, 08:10:19 am »
Grab a copy of fixes_3_2, it will call itself 3.2.3 and it does have those identifiers !
Unfortunately it identifies itself for me as fpc 3.3.1 (same as trunk -> dilemma). And it is actually 3.3.1 because it is impossible to build with 3.2.0 as bootstrap compiler and the make-file emits a "unsupported version error" (it is normal for fixes to be able to compile with the previous release version of the compiler).

I more or less was aware of your other discoveries but for the above reason can't use fixes 3.2.

conclusive: That means in practice the only available FPC 3.2.3 (e.g. fixes 3.2.2) is unable to build Lazarus from at least release v3.6, including this release candidate.

That it is possible to build this Lazarus 4.0 release candidate 1 with fpc 3.2.2, fpc branch 3.2.4, fpc 3.3.1 aka fixes 2.4 and/or fpc trunk is besides the point (e.g. I was not in search of a workaround).

And that was in fact the only thing I wanted to report. I would thus have to uphold my report.

Thank you dbannon for confirming that there is at least some sanity left in the person on the other side of the internet wire  :)

muchas gracias for your input.
« Last Edit: October 28, 2024, 08:21:41 am by TRon »
I do not have to remember anything anymore thanks to total-recall.

dbannon

  • Hero Member
  • *****
  • Posts: 3199
    • tomboy-ng, a rewrite of the classic Tomboy
Re: Lazarus Release Candidate 1 of 4.0
« Reply #36 on: October 28, 2024, 08:20:59 am »
Grab a copy of fixes_3_2, it will call itself 3.2.3 and it does have those identifiers !
Unfortunately it identifies itself for me as fpc 3.3.1 (same as trunk -> dilemma).

Copy n paste from fixes_3_2 compiler/version.pas on gitlab -
Code: [Select]
       { version string }
       version_nr = '3';
       release_nr = '2';
       patch_nr   = '3';

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

TRon

  • Hero Member
  • *****
  • Posts: 3822
Re: Lazarus Release Candidate 1 of 4.0
« Reply #37 on: October 28, 2024, 08:24:08 am »
Copy n paste from fixes_3_2 compiler/version.pas on gitlab -
Yes, I know :)

I edited my post while you posted your reply to inform that it is actually a 3.3.1 compiler.

Do I now have to assume that you have been manipulating the version number ?  ;D
I do not have to remember anything anymore thanks to total-recall.

Thaddy

  • Hero Member
  • *****
  • Posts: 16419
  • Censorship about opinions does not belong here.
Re: Lazarus Release Candidate 1 of 4.0
« Reply #38 on: October 28, 2024, 08:27:03 am »
Code: Pascal  [Select][+][-]
  1. program version;
  2. var
  3.   fpcidentifier:array[0..255] of ansichar; external name '__fpc_ident';
  4. begin
  5.   writeln('This program was compiled with: ',fpcidentifier);
  6.   readln;
  7. end.
There is nothing wrong with being blunt. At a minimum it is also honest.

dbannon

  • Hero Member
  • *****
  • Posts: 3199
    • tomboy-ng, a rewrite of the classic Tomboy
Re: Lazarus Release Candidate 1 of 4.0
« Reply #39 on: October 28, 2024, 09:07:17 am »
I edited my post while you posted your reply to inform that it is actually a 3.3.1 compiler.

Do I now have to assume that you have been manipulating the version number ?  ;D

No to both items.  fixes_3_2 has few recent commits, 3.3.1 (trunk) has had lots !  IMHO, fixes is, exactly what its compiler/version.pas says it is, 3.2.3.

But there is absolutely no doubt that you have discovered  significant bug in Lazarus 4.0 (remember what this thread is about). If someone downloads, builds and uses the 3.2.3 tagged copy of FPC, it will NOT build Lazarus 4.0. Are you going to log it ?

Thaddy, thanks. I use {$include %FPCVersion%} which seems a touch simpler ?  Neither work very well unless you have downloaded the source, built and configured it first. Opening up gitlab, looking in compiler/version.pas for the release in question seems a touch simpler.

 :)

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

BSaidus

  • Hero Member
  • *****
  • Posts: 607
  • lazarus 1.8.4 Win8.1 / cross FreeBSD
Re: Lazarus Release Candidate 1 of 4.0
« Reply #40 on: October 28, 2024, 09:14:21 am »


But there is absolutely no doubt that you have discovered  significant bug in Lazarus 4.0 (remember what this thread is about). If someone downloads, builds and uses the 3.2.3 tagged copy of FPC, it will NOT build Lazarus 4.0. Are you going to log it ?

If you want  Lazarus 3.2, 3.4, 3.6, 4.0 to work with  FPC 3.2.3, use fpccupdeluxe to download this version (Commit : g22da36f83e)
Code: Pascal  [Select][+][-]
  1. Free Pascal Compiler version 3.2.3-1397-g22da36f83e [2024/07/30] for i386
  2.  

lazarus 1.8.4 Win8.1 / cross FreeBSD
dhukmucmur vernadh!

mattias

  • Administrator
  • Full Member
  • *
  • Posts: 198
    • http://www.lazarus.freepascal.org
Re: Lazarus Release Candidate 1 of 4.0
« Reply #41 on: October 28, 2024, 09:18:23 am »
Code: Pascal  [Select][+][-]
  1. program version;
  2. var
  3.   fpcidentifier:array[0..255] of ansichar; external name '__fpc_ident';
  4. begin
  5.   writeln('This program was compiled with: ',fpcidentifier);
  6.   readln;
  7. end.

Or simply
Code: Pascal  [Select][+][-]
  1. writeln({$I %FPCVERSION%});

TRon

  • Hero Member
  • *****
  • Posts: 3822
Re: Lazarus Release Candidate 1 of 4.0
« Reply #42 on: October 28, 2024, 09:23:10 am »
No to both items.  fixes_3_2 has few recent commits, 3.3.1 (trunk) has had lots !  IMHO, fixes is, exactly what its compiler/version.pas says it is, 3.2.3.
And now it does for me as well (tried on another machine that is actually stuffed with all things FPC and Lazarus related)  :o

I'll try again tomorrow on the other machine to try locate what that is all about. I'm looking at my crystal ball that seem to tell me that it is pretty likely an apology is coming up.

W.E.I.R.D.

Quote
But there is absolutely no doubt that you have discovered  significant bug in Lazarus 4.0 (remember what this thread is about). If someone downloads, builds and uses the 3.2.3 tagged copy of FPC, it will NOT build Lazarus 4.0. Are you going to log it ?
Well, the discussion is more or less moot if fixes_3_2 is actually 3.2.2 fixes (and builds and reports as such). Which I always assumed it would but for some reason didn't for me the last couple of days.

There is no discussion that fixes_3_2 is more recent than 3.2.3, in fact the specific fix with regards to mrContinue was added around 10 months ago (3.2.3 is 3 years old or so).
« Last Edit: October 28, 2024, 09:30:05 am by TRon »
I do not have to remember anything anymore thanks to total-recall.

440bx

  • Hero Member
  • *****
  • Posts: 4908
Re: Lazarus Release Candidate 1 of 4.0
« Reply #43 on: October 28, 2024, 09:29:30 am »
W.I.E.R.D.
That spelling is W.E.I.R.D :)
(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

TRon

  • Hero Member
  • *****
  • Posts: 3822
Re: Lazarus Release Candidate 1 of 4.0
« Reply #44 on: October 28, 2024, 09:30:33 am »
thx 440bx, fixed  :)
I do not have to remember anything anymore thanks to total-recall.

 

TinyPortal © 2005-2018