[Lazarus] Lazarus 2.2.6 on Raspberry Pi5B, error during build

Bo Berglund bo.berglund at gmail.com
Sun Dec 10 17:51:23 CET 2023


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?


-- 
Bo Berglund
Developer in Sweden



More information about the lazarus mailing list