View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0037010||Lazarus||Other||public||2020-05-03 11:44||2020-05-05 20:46|
|Reporter||Bart Broersma||Assigned To|
|Product Version||2.1 (SVN)|
|Summary||0037010: The Lazarus buildsystem erroneously adds "-Fuc:/pp/units/i386-win32/rtl" parameter to calls to the compiler|
|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
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: 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.
|Tags||No tags attached.|
|Fixed in Revision|
||See also https://forum.lazarus.freepascal.org/index.php/topic,49606.0.html|
||Confirmed by user TRon on the forum.|
I have encountered this before. AFAIK, this is caused by the Lazarus makesfiles.
The Makefiles try to get a result for the FPCDIR. But setting this directory is not enough.
Many tests of the validity of FPCDIR follow. These tests will fail in nearly all cases.
Resulting in the validity (or use) of the final line:
This definition is used by many other settings in the Makefiles.
|2020-05-03 11:44||Bart Broersma||New Issue|
|2020-05-03 11:53||Bart Broersma||Steps to Reproduce Updated||View Revisions|
|2020-05-03 11:53||Bart Broersma||LazTarget||=> -|
|2020-05-03 11:56||Bart Broersma||Steps to Reproduce Updated||View Revisions|
|2020-05-03 11:58||Bart Broersma||Steps to Reproduce Updated||View Revisions|
|2020-05-03 11:59||Bart Broersma||Steps to Reproduce Updated||View Revisions|
|2020-05-03 12:00||Bart Broersma||Steps to Reproduce Updated||View Revisions|
|2020-05-03 12:01||Bart Broersma||Steps to Reproduce Updated||View Revisions|
|2020-05-03 12:03||Bart Broersma||Steps to Reproduce Updated||View Revisions|
|2020-05-03 12:04||Bart Broersma||Note Added: 0122614|
|2020-05-03 12:06||Bart Broersma||Summary||The Lazarus buildsystem erroneously adds "-Fuc:/pp/units/i386-win32/rtl" parametr to calls to the compiler => The Lazarus buildsystem erroneously adds "-Fuc:/pp/units/i386-win32/rtl" parameter to calls to the compiler|
|2020-05-03 12:07||Bart Broersma||Description Updated||View Revisions|
|2020-05-04 14:16||Bart Broersma||Status||new => confirmed|
|2020-05-04 14:16||Bart Broersma||Note Added: 0122621|
|2020-05-05 20:46||Alfred||Note Added: 0122638|