I am going to be a bit side-topic here. Feel free to burn me in case that is a problem.
The pico-button of fpcupdeluxe should take care of all of these implementation details. I hope it still does.
Unfortunately it doesn't.
Seeing that you also have an open issue on your github about it, I'll spill some details and my comments:
First of all, the single pico button press fails and as described on the github report
here by pizzaprogram.
The reason for that is obvious but, the comment inside the source-code of fpcupdeluxe seems to contradict the obviousness
// Due to changes in Lazarus, we need a trunk/main version of Lazarus that can be compiled with an embedded (old) FPC trunk
Form2.ForceLazarusRevision:='5b0ed449f3'
The logic of the comment is imho wrong (perhaps not when it was written (I haven't verified) or the comment applies to other parts of the pico build) because when looking at the source-code of uitypes.pas inside that Lazarus revision ...
{$IF FPC_FULLVERSION >= 30200}
deprecated 'Use System.UITypes instead (available since FPC 3.2.0)';
.. then it is clear that that the system.uitypes units is used since compiler version 3.2.0. FPC Trunk is beyond that version.
Then, taken into account that afaik the forced Lazarus revision is over a year old things go haywire because System.UITypes got a bit of an update in the period between the forced Lazarus revision and current FPC trunk which leads to the error where the forced Lazarus revision uitypes.pas defines (too) less entries for variable ModalResultStr than required by System.UITypes (this ModalResultStr array maps between the two different units and FPC's system.uitypes has 14 entries (mrLast) while lazarus forced revision has 12 (mrLast))
Of course that can be fixed easily, either manually or otherwise but that does not 'fix' the imho wrong logic expressed in the comment.
Because imho it should read more like something as:
"Due to use of FPC trunk there is need to find/use a particular minimal revision of Lazarus with a uitypes unit that matches the definitions of (FPC trunk) System.UITypes (or a revision that does not rely on components/lazutils/uitypes.pas anymore or has been fixed/updated to match system.uitypes unit of trunk FPC)"
Now, which exact Lazarus revision that is, I haven't been able to figure out yet (time constraint)...
Hopefully that is enough information to be able to address the issue ?
edit: At least in/with
this commit the uitypes unit from Lazarus was removed.