Mailing lists / fpc-pascal / 2020-02
How to rebuild an fpc package
12 messages · 6 people · –
- LLuis - SoftSAT Sistemas 6
- CChristo Crause 2
- FFabio Luis Girardi 1
- GGraeme Geldenhuys 1
- JJoost van der Sluis 1
- SSven Barth 1
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Resend as plain text.
10.02.2020, 14:09, "Luis - SoftSAT Sistemas via fpc-pascal" :
Show quoted text 13 lines
Looking at unit search path the compiler are looking at "sources" dir instead of "units" dir with the compiled units and i dont know how to fix this.
C:\lazarus\fpc\3.0.4\source\packages\fcl-db>make all OPT=-vut C:/lazarus/fpc/3.0.4/bin/i386-win32/ppc386.exe fpmake.pp -n -Fu../../r tl -Fu../../packages/paszlib -Fu../../packages/fcl-process -Fu../../packages/has h -Fu../../packages/libtar -Fu../../packages/fpmkunit -vut Compiler: C:\lazarus\fpc\3.0.4\bin\i386-win32\ppc386.exe Using executable path: C:\lazarus\fpc\3.0.4\bin\i386-win32\ Using unit path: C:\lazarus\fpc\3.0.4\source\rtl\
Using unit path: C:\lazarus\fpc\3.0.4\source\packages\paszlib\ Using unit path: C:\lazarus\fpc\3.0.4\source\packages\fcl-process\ Using unit path: C:\lazarus\fpc\3.0.4\source\packages\hash\ Using unit path: C:\lazarus\fpc\3.0.4\source\packages\libtar\ Using unit path: C:\lazarus\fpc\3.0.4\source\packages\fpmkunit\ Using unit path: C:\lazarus\fpc\3.0.4\bin\i386-win32\ Using library path: C:\lazarus\fpc\3.0.4\source\rtl\ Using library path: C:\lazarus\fpc\3.0.4\source\packages\paszlib\ Using library path: C:\lazarus\fpc\3.0.4\source\packages\fcl-process\ Using library path: C:\lazarus\fpc\3.0.4\source\packages\hash\ Using library path: C:\lazarus\fpc\3.0.4\source\packages\libtar\ Using library path: C:\lazarus\fpc\3.0.4\source\packages\fpmkunit\ Using library path: C:\lazarus\fpc\3.0.4\bin\i386-win32\ Using object path: C:\lazarus\fpc\3.0.4\source\rtl\ Using object path: C:\lazarus\fpc\3.0.4\source\packages\paszlib\ Using object path: C:\lazarus\fpc\3.0.4\source\packages\fcl-process\ Using object path: C:\lazarus\fpc\3.0.4\source\packages\hash\ Using object path: C:\lazarus\fpc\3.0.4\source\packages\libtar\ Using object path: C:\lazarus\fpc\3.0.4\source\packages\fpmkunit\ Using object path: C:\lazarus\fpc\3.0.4\bin\i386-win32\ Searching file fpmake.pp... found
(PROGRAM) Registering new unit SYSTEM
(PROGRAM) Load from FPMAKE (implementation) unit SYSTEM (SYSTEM) Loading unit SYSTEM
Unitsearch: system.ppu
Unitsearch: system.pp
Unitsearch: system.pas
Unitsearch: C:\lazarus\fpc\3.0.4\source\rtl\system.ppu Unitsearch: C:\lazarus\fpc\3.0.4\source\rtl\system.pp Unitsearch: C:\lazarus\fpc\3.0.4\source\rtl\system.pas Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\paszlib\system.ppu Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\paszlib\system.pp Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\paszlib\system.pas Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\fcl-process\system.ppu Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\fcl-process\system.pp Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\fcl-process\system.pas Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\hash\system.ppu Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\hash\system.pp Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\hash\system.pas Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\libtar\system.ppu Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\libtar\system.pp Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\libtar\system.pas Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\fpmkunit\system.ppu Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\fpmkunit\system.pp Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\fpmkunit\system.pas Unitsearch: C:\lazarus\fpc\3.0.4\bin\i386-win32\system.ppu Unitsearch: C:\lazarus\fpc\3.0.4\bin\i386-win32\system.pp Unitsearch: C:\lazarus\fpc\3.0.4\bin\i386-win32\system.pas Unitsearch: system.pp
Unitsearch: system.pas
Unitsearch: C:\lazarus\fpc\3.0.4\source\rtl\system.pp Unitsearch: C:\lazarus\fpc\3.0.4\source\rtl\system.pas Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\paszlib\system.pp Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\paszlib\system.pas Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\fcl-process\system.pp Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\fcl-process\system.pas Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\hash\system.pp Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\hash\system.pas Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\libtar\system.pp Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\libtar\system.pas Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\fpmkunit\system.pp Unitsearch: C:\lazarus\fpc\3.0.4\source\packages\fpmkunit\system.pas Unitsearch: C:\lazarus\fpc\3.0.4\bin\i386-win32\system.pp Unitsearch: C:\lazarus\fpc\3.0.4\bin\i386-win32\system.pas Fatal: Can't find unit system used by fpmake
Fatal: Compilation aborted
make: *** [fpmake.exe] Error 1
11.02.2020, 09:58, "Luis - SoftSAT Sistemas via fpc-pascal" :
Show quoted text 20 lines
On Tue, Feb 11, 2020 at 3:23 PM Luis - SoftSAT Sistemas via fpc-pascal <
Show quoted text 12 lines
You are using relative paths in -Fu and your current folder is c:\lazarus\fpc\3.0.4\source\packages\fcl-db, so
-Fu../../rtl should expand to -Fuc:\lazarus\fpc\3.0.4\source\rtl - the compiler is searching where it was told.
It may be easier to just specify the absolute path to the compiled RTL units, for example:
-Fuc:\lazarus\fpc\3.0.4\units\rtl\your-target
You are using relative paths in -Fu and your current folder is c:\lazarus\fpc\3.0.4\source\packages\fcl-db, so -Fu../../rtl should expand to -Fuc:\lazarus\fpc\3.0.4\source\rtl - the compiler is searching where it was told.
This is done by the make file that come with the package.
It may be easier to just specify the absolute path to the compiled RTL units, for example: -Fuc:\lazarus\fpc\3.0.4\units\rtl\your-target
If i add this with `make OPT=-Fu....` it advances to next error and require another unit.
> C:/lazarus/fpc/3.0.4/bin/i386-win32/ppc386.exe fpmake.pp -n -Fu../../r
if i edit the make file and remove the "-n" flag it compiles the fpmake but when fpmake is run its throws another error.
Anyway, looks like there are some problem with the makefile or with something else on my system.
Thanks for the reply!
11.02.2020, 12:29, "Christo Crause" :
Show quoted text 7 lines
On Tue, Feb 11, 2020 at 4:57 PM Luis - SoftSAT Sistemas <
Show quoted text 21 lines
I guess the problem is how to tell the make system when to use installed units and when to recompile units. Although it should be possible to figure out how to do this, I rather suggest an easier fix: just recompile everything with "make all install" from the base of the fpc source folder. This way the makefiles do all the tracking of where compiled units are. The few minutes this will take should be much less than the time spent trying to figure out how to fix your original problem.
Christo Crause via fpc-pascal schrieb am
Di., 11. Feb. 2020, 19:42:
Show quoted text 31 lines
This will not work, because Lazarus does not distribute the complete sources.
Regards,
Sven
On Tue, Feb 11, 2020 at 4:57 PM Luis - SoftSAT Sistemas < I guess the problem is how to…
I guess the problem is how to tell the make system when to use installed units and when to recompile units. Although it should be possible to figure out how to do this, I rather suggest an easier fix: just recompile everything with "make all install" from the base of the fpc source folder. This way the makefiles do all the tracking of where compiled units are. The few minutes this will take should be much less than the time spent trying to figure out how to fix your original problem.
You are right, this solved the issue, thanks.
11.02.2020, 16:32, "Christo Crause" :
Show quoted text 14 lines
--
Luis Lima
Rua Jeronimo Higino de Carvalho, 1210 - Aclimação José Bonifácio - Brasil CEP 15200-000
(55 17) 3265-9828 | 992-441-621
www.softsatsistemas.com.br
ANTES DE IMPRIMIR pense em sua responsabilidade e compromisso com o MEIO AMBIENTE Esta mensagem pode conter informação confidencial/privilegiada. Se você não for o seu destinatário, a mensagem e seus anexos deverão ser inutilizados, sob pena de responsabilização por uso indevido. This message may have confidential/privileged information. If you are not the addressee, this message and its enclosures must be destroyed, under penalty of liability for unauthorized use.
Op 10-02-2020 om 17:01 schreef Luis - SoftSAT Sistemas via fpc-pascal:
Show quoted text 14 lines
Easiest to rebuild and install a fpc-package is:
cd packages/fcl-db
fppkg install -o -gl
You can omit the '-o -gl' part if you do not need debug-info.
Note that it will automatically rebuild and install all packages that depend on fcl-db.
The packages are installed in your user-profile in the fppkg-directory. You can safely remove those files to get rid of the changes.
Or you can uninstall the packages: 'fppkg uninstall <packagename>'
Regards,
Joost.
12.02.2020, 11:41, "Joost van der Sluis" :
Show quoted text 38 lines
Excellent, i'll try it later.
Thank you.
Op 10-02-2020 om 17:01 schreef Luis - SoftSAT Sistemas via fpc-pascal: Easiest to rebuild…
This is the tip of the day!
Thanks!
Joost van der Sluis wrote 39 lines
Op 10-02-2020 om 17:01 schreef Luis - SoftSAT Sistemas via fpc-pascal: Easiest to rebuild…
Joost van der Sluis wroteNote that it will automatically rebuild and install all packages that depend on fcl-db.
Very nice. This makes things so much easier.
Regards,
Graeme
