I am setting up my new RPi3B with 64 bit Pi-OS Bookworm and have now come to FreePascal/Lazarus.
Freepascal is built from sources (trunk of 3.2.3) using a seed compiler 3.2.2 earlier obtained as an apt install on an RPi4B also running Pi-OS 64 bit Bookworm.
On this new system I want to build from sources to get everything inside my $HOME environment. That is why I did not install fpc 3.2.2 via apt. Fpc built just fine with these sources so that is how I got 3.2.3.
Note that I am using fpc 3.2.3 head revision on this system since no other version seems to be possible to build on the 64 bit Pi-OS. But that version builds without problems.
So I am using the self-compiled fpc 3.2.3 to build Lazarus 2.2.6 and it fails during build with the following exit message (only end of output shown):
make bigide....
(9009) Assembling translations
(3104) Compiling uitypes.pas
/home/bosse/devtools/lazarus/2.2.6/components/lazutils/uitypes.pas(105,14) Error: (3285) Expected another 2 array elements
/home/bosse/devtools/lazarus/2.2.6/components/lazutils/uitypes.pas(93,58) Fatal: (10026) There were 1 errors compiling module, stopping Fatal: (1018) Compilation aborted
make[1]: *** [Makefile:3394: lazutils.ppu] Error 1 make[1]: Leaving directory
'/home/bosse/devtools/lazarus/2.2.6/components/lazutils' make: *** [Makefile:3802: lazutils] Error 2
This is how the file looks like at the location indicated:
62 interface
63
64 type
65 // Message dialog related
66 TMsgDlgType = (mtWarning, mtError, mtInformation, mtConfirmation, mtCustom);
67 TMsgDlgBtn = (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, 68 mbAll, mbNoToAll, mbYesToAll, mbHelp, mbClose); 69 TMsgDlgButtons = set of TMsgDlgBtn;
70
71 // ModalResult
72 TModalResult = low(Integer)..high(Integer);
73 PModalResult = ^TModalResult;
74
75 const
76 // Used for ModalResult
77 mrNone = 0;
78 mrOK = mrNone + 1;
79 mrCancel = mrNone + 2;
80 mrAbort = mrNone + 3;
81 mrRetry = mrNone + 4;
82 mrIgnore = mrNone + 5;
83 mrYes = mrNone + 6;
84 mrNo = mrNone + 7;
85 mrAll = mrNone + 8;
86 mrNoToAll = mrNone + 9;
87 mrYesToAll = mrNone + 10;
88 mrClose = mrNone + 11;
89 mrLast = mrClose;
90 {$ENDIF}
91
92 // String representation of ModalResult values 93 ModalResultStr: array[mrNone..mrLast] of shortstring = ( 94 'mrNone',
95 'mrOk',
96 'mrCancel',
97 'mrAbort',
98 'mrRetry',
99 'mrIgnore',
100 'mrYes',
101 'mrNo',
102 'mrAll',
103 'mrNoToAll',
104 'mrYesToAll',
105 'mrClose');
106
107
To me it seems like the number of elements is not in error...
What can cause this failure and how can I solve it?
