In the past two days, I built Lazarus through source code from main branch in Windows 10. There was an error occurred,the message is:
(10001) PPU Loading C:\Develop\Lazarus\components\virtualtreeview\lib\i386-win32-win32\laz.vtideeditors.ppu
(10011) PPU Source: laz.vtideeditors.pas not found
(10028) Recompiling laz.VTIDEEditors, checksum changed for C:\Develop\Lazarus\components\virtualtreeview\lib\i386-win32-win32\laz.virtualtrees.ppu
Fatal: (10022) Can't find unit laz.VTIDEEditors used by laz.RegisterVirtualTreeView
Fatal: (1018) Compilation aborted
Finally, I found that this issue can be corrected through the following modifications:
- 1. Modify laz.virtualtreeview_package.pas, change the order of laz.VTIDEEditors in the uses statement. change
uses
laz.VirtualTrees, laz.VTHeaderPopup, laz.RegisterVirtualTreeView,
laz.VTGraphics, laz.VTIDEEditors, LazarusPackageIntf;
to
uses
laz.VirtualTrees, laz.VTHeaderPopup, laz.VTIDEEditors,
laz.RegisterVirtualTreeView, laz.VTGraphics, LazarusPackageIntf;
I know this file was automatically created by Lazarus, but I had to do this to make the command "make clean all" runs correctly.
- 2. Modify laz.virtualtreeview_package.lpk, change the order of laz.vtideeditors.pas, change
<Item>
<Filename Value="laz.registervirtualtreeview.pas"/>
<HasRegisterProc Value="True"/>
<UnitName Value="laz.RegisterVirtualTreeView"/>
</Item>
<Item>
<Filename Value="laz.vtgraphics.pas"/>
<UnitName Value="laz.VTGraphics"/>
</Item>
<Item>
<Filename Value="laz.virtualtrees.res"/>
<Type Value="Binary"/>
</Item>
<Item>
<Filename Value="laz.vtideeditors.pas"/>
<UnitName Value="laz.VTIDEEditors"/>
</Item>
to
<Item>
<Filename Value="laz.vtideeditors.pas"/>
<UnitName Value="laz.VTIDEEditors"/>
</Item>
<Item>
<Filename Value="laz.registervirtualtreeview.pas"/>
<HasRegisterProc Value="True"/>
<UnitName Value="laz.RegisterVirtualTreeView"/>
</Item>
<Item>
<Filename Value="laz.vtgraphics.pas"/>
<UnitName Value="laz.VTGraphics"/>
</Item>
<Item>
<Filename Value="laz.virtualtrees.res"/>
<Type Value="Binary"/>
</Item>
This is the real place to change the order of the
laz.VTIDEEditors, to prevent Lazarus building fail during install/uninstall packages.
Somebody please verify this issue, and sumbit to Lazarus Gitlab if above modification works properly. Thanks!