The Lazarus buildsystem erroneously adds "-Fuc:/pp/units/i386-win32/rtl" parameter to calls to the compiler
Original Reporter info from Mantis: Bart @flyingsheep
-
Reporter name: Bart Broersma
Original Reporter info from Mantis: Bart @flyingsheep
- Reporter name: Bart Broersma
Description:
When you have (trunk) compiler installed in C:\pp then -Fuc:/pp/units/i386-win32/rtl is added as a paramter to calls to the compiler, making the compiler look for the wrong units.
Steps to reproduce:
This is my setup in which it happens (reproduced on a new system that did not have Lazarus or fpc installed ever).
Did a fresh svn checkout of lazarus trunk in c:\devel\lazarus
Installed fpc3.2.0RC1 in c:\devel\fpc\3.2.0
So fpc 3.2.0RC1 is now in %PATH%
c:\devel\lazarus> make bigide
Build Lazarus as expected.
There is NO -Fuc:/pp/units/i386-win32/rtl in the calls to fpc
Did fresh svn checkout of fpc trunk in c:\devel\fpc
c:\devel\fpc\trunk>make all
Builds OK
c:\devel\fpc\trunk>make install
Installs fpc to C:\pp
So my tree looks something like:
C:\ devel\ lazarus\ fpc\ 3.2.0\ bin\ units\ pp\ bin\ i386-win32\ units\ i386\win32
Now try to build Lazarus once again:
C:\devel\lazarus>make bigide OPT="-g -gl" make -C packager/registration make[1]: Entering directory `C:/devel/lazarus/packager/registration' c:\devel\fpc\3.2.0\bin\i386-win32\fpc.exe -MObjFpc -Scghi -O1 -g -gl -i -vewnhibq -Fu. -Fuc:/pp/units/i386-win32/rtl -FE. -FU../units/i386-win32 -g -gl -di386 fcllaz.pas
Notice that there is no reference to "c:/pp/units/i386-win32/rtl" in either the fpc.cfg of the 3.2.0 compiler, nor in C:\Users\Bart\AppData\Local\lazarus\idemake.cfg
Also the fpc trunk compiler is not in the system's %PATH%
There are also no environment variables set that have anything to do with fpc, lazarus or the build system.
If I rename C:\pp to C:_pp then the "Fuc:/pp/units/i386-win32/rtl" will (again) not be added.
Additional information:
Initially this made fpc3.2.0RC1 error out with "Fatal: (10016) Invalid PPU-File entry: 242"
This is because the major version of the PPU file was the same for fpc trunk and 3.2.0RC1.
Sven has kindly increased the major PPU version of fpc trunk, so at least I can build lazarus again, but still the compiler looks for each rtl unit in the wrong directory and has to reject that one.
Mantis conversion info:
- Mantis ID: 37010
- OS: Windows
- OS Build: 10
- Build: r62605
- Platform: i386
- Version: 2.1 (SVN)