Returning to this thread since I read in another one that it may help to compile packages multiple times, and this indeed seems to work...
But first of all, I still believe that the unit path of the designtime package GR32_DSGN_Lazarus is not correct because it points into the runtime directory. "..\..;..\..\Design;Lib\$(TargetCPU)-$(TargetOS)\$(LCLWidgetType)". I changed it to simply "..\..\Design". In general, packages shoud not have access to the sources of other packages.
I also removed the "-Ur" custom option from both packages simply because I never used it and do not understand what it does.
With these changes I can make the following observations:
Lazarus/main (from today's repository) + FPC 3.2.2, 32-bit, Windows 11- Load GR32_Lazarus.lpk --> "More" > "Recompile clean" --> ok
- Load GR32_DSGN_Lazarus.lpk --> "More" > "Recompile clean" > "Compile and do not ask again" ---> "Cannot find GR32_Blend.pas"
- Load GR32_Lazarus.lpk --> "Compile clean" --> ok
- Load GR32_DSGN_Lazarus.lpk --> "Compile clean" > "Cannot find GR32.Blend.Assember.pas"
- Load GR32_Lazarus.lpk --> "Compile" --> ok
- Load GR32_DSGN_Lazarus.lpk --> "Compile clean" > "Cannot find GR32_VectorUtils.Reference.pas"
- Load GR32_Lazarus.lpk --> "Compile" --> ok
- Load GR32_DSGN_Lazarus.lpk --> "Compile" --> success! -->"Use" > "Install" --> The new IDE is successfully built, containing Graphics32 on the component palette. Testing one of the sample project --> fine!
Or shorter:
- Load GR32_Lazarus.lpk --> "More" > "Recompile clean" --> ok. Then three times: "Compile"
- Load GR32_DSGN_Lazarus.lpk --> "Compile" --> success! -->"Use" > "Install" --> The new IDE is successfully built, containing Graphics32 on the component palette. Sample project runs.
Repeating for a
64-bit IDE:
- same result --> fine
Repeating with
Laz 3.8 + FPC 3.2.2 (64-bit):
- same result --> fine
BUT:
Repeating with Laz 2.0.12 + FPC 3.2.0 (32-bit) (just to see FPC 3.2.0 in action):
- compilation of runtime-package aborts in GR32_Bindings: IntToHex missing second argument. Added "8" as second parameter. Next issue in GR32.Recursive.Gaussian, "UnregisterGammaChangeNotification(FGammaPremultiplyLUT.GammaChangedHandler)": UnregisterGammaChangeNotification wants a "procedure of object" as argument, but "FGammePremultiplyLUT.GammachangedHandler is a "procedure of record" --> giving up.
BUT:
Repeating with
Laz/main + FPC/main (from today's repository), 32 bit:- The runtime package compiles fine, but whenever I try to compile the designtime package it aborts with "Cannot find GR32_Blend.pas"
And another issue is with
FPC/main 64-bit:- I cannot even compile the runtime package here: Error: GR32.Blur.RecursiveGaussian.pas(445,3) Error: Asm: [movss xmmreg1,mem64] invalid combination of opcode and operands"
Conclusion:
- Graphics32 can be installed in FPC3.2.2-based Lazarus, this requires multiple compilation of the runtime package.
- Other issue prevent installation with FPC 3.2.0 and with FPC 3.3.1.