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

Bo Berglund bo.berglund at gmail.com
Mon Dec 11 00:55:35 CET 2023


On Sun, 10 Dec 2023 20:10:38 +0300, Mehmet Erol Sanliturk via lazarus
<lazarus at lists.lazarus-ide.org> wrote:

>There is a statement
>
>   90 {$ENDIF}
>
>Its outside of {$IFDEF } is not listed .
>It is very likely that
>
>mrNone..mrLast
>
>values are defined outside of ( IFDEF , ENDIF ) pairs .
>

Below is the full text of that file and the only define used is on line 2 where
the fpc compiler is checked to be 3.2.0 or above in which case the reading of
the file should be lines 3..56 and then continue on line 91.

So since the compiler is fpc ver 3.2.2 this should NOT bring us down to line
58..89, but it seems like it jumps there anyway...

Where is the identifier FPC_FULLVERSION defined??

Anyway, I gave up and disabled my own compiler and installed fpc 3.2.2 via apt
and then the issue does not appear anymore.
But now I have the fpc compiler *outside* of my $HOME file hierarchy...

See also my notes at the bottom of the file (lines 89 and 105).

File body:/home/bosse/devtools/lazarus/2.2.6/components/lazutils/uitypes.pas
----------------------------------------------------------------------------
  1 unit UITypes
  2 {$IF FPC_FULLVERSION >= 30200}
  3 deprecated 'Use System.UITypes instead (available since FPC 3.2.0)';
  4
  5 {$mode objfpc}{$H+}
  6
  7 interface
  8
  9 uses
 10   System.UITypes;
 11
 12 const
 13   mtWarning      = System.UITypes.TMsgDlgType.mtWarning;
 14   mtError        = System.UITypes.TMsgDlgType.mtError;
 15   mtInformation  = System.UITypes.TMsgDlgType.mtInformation;
 16   mtConfirmation = System.UITypes.TMsgDlgType.mtConfirmation;
 17   mtCustom       = System.UITypes.TMsgDlgType.mtCustom;
 18
 19   mbYes      = System.UITypes.TMsgDlgBtn.mbYes;
 20   mbNo       = System.UITypes.TMsgDlgBtn.mbNo;
 21   mbOK       = System.UITypes.TMsgDlgBtn.mbOK;
 22   mbCancel   = System.UITypes.TMsgDlgBtn.mbCancel;
 23   mbAbort    = System.UITypes.TMsgDlgBtn.mbAbort;
 24   mbRetry    = System.UITypes.TMsgDlgBtn.mbRetry;
 25   mbIgnore   = System.UITypes.TMsgDlgBtn.mbIgnore;
 26   mbAll      = System.UITypes.TMsgDlgBtn.mbAll;
 27   mbNoToAll  = System.UITypes.TMsgDlgBtn.mbNoToAll;
 28   mbYesToAll = System.UITypes.TMsgDlgBtn.mbYesToAll;
 29   mbHelp     = System.UITypes.TMsgDlgBtn.mbHelp;
 30   mbClose    = System.UITypes.TMsgDlgBtn.mbClose;
 31
 32 type
 33   // Message dialog related
 34   TMsgDlgType    = System.UITypes.TMsgDlgType;
 35   TMsgDlgBtn     = System.UITypes.TMsgDlgBtn;
 36   TMsgDlgButtons = set of System.UITypes.TMsgDlgBtn;
 37
 38   // ModalResult
 39   TModalResult = System.UITypes.TModalResult;
 40   PModalResult = System.UITypes.PModalResult;
 41
 42 const
 43   // Used for ModalResult
 44   mrNone = System.UITypes.mrNone;
 45   mrOK = System.UITypes.mrOK;
 46   mrCancel = System.UITypes.mrCancel;
 47   mrAbort = System.UITypes.mrAbort;
 48   mrRetry = System.UITypes.mrRetry;
 49   mrIgnore = System.UITypes.mrIgnore;
 50   mrYes = System.UITypes.mrYes;
 51   mrNo = System.UITypes.mrNo;
 52   mrAll = System.UITypes.mrAll;
 53   mrNoToAll = System.UITypes.mrNoToAll;
 54   mrYesToAll = System.UITypes.mrYesToAll;
 55   mrClose = System.UITypes.mrClose;
 56   mrLast = System.UITypes.mrLast;
 57 {$ELSE}
 58 ;
 59
 60 {$mode objfpc}{$H+}
 61
 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; //Should this be: mrLast = mrNone + 12 maybe???
 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');  //Should there be another line for mrLast maybe???
106
107
108 implementation
109
110 end.

------------------------------------------


-- 
Bo Berglund
Developer in Sweden



More information about the lazarus mailing list