Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2020-02

How to rebuild an fpc package

12 messages · 6 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Luis - SoftSAT Sistemas
to Luis - SoftSAT Sistemas

Resend as plain text.

10.02.2020, 14:09, "Luis - SoftSAT Sistemas via fpc-pascal" :

Show quoted text 13 lines
I'am on Windows and installed latest lazarus version(2.0.6), but TCSVDataset from fcl-db package have some bugs so i ported some fixes, now i need rebuild it, but i failed miserably. What i tryed CD C:\lazarus\fpc\3.0.4\source\packages\fcl-db make clean all install INSTALL_PREFIX=C:\lazarus\fpc\3.0.4 but i get 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 Fatal: Can't find unit system used by fpmake Fatal: Compilation aborted make: *** [fpmake.exe] Error 1

Reply by email

Luis - SoftSAT Sistemas
to Luis - SoftSAT Sistemas

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
Resend as plain text. 10.02.2020, 14:09, "Luis - SoftSAT Sistemas via fpc-pascal" : >  I'am on Windows and installed latest lazarus version(2.0.6), but TCSVDataset from fcl-db package have some bugs so i ported some fixes, now i need rebuild it, but i failed miserably. > >  What i tryed >  CD C:\lazarus\fpc\3.0.4\source\packages\fcl-db >  make clean all install INSTALL_PREFIX=C:\lazarus\fpc\3.0.4 > >  but i get >  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 >  Fatal: Can't find unit system used by fpmake >  Fatal: Compilation aborted >  make: *** [fpmake.exe] Error 1 _______________________________________________ fpc-pascal maillist - https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply by email

Christo Crause
to Luis - SoftSAT Sistemas

On Tue, Feb 11, 2020 at 3:23 PM Luis - SoftSAT Sistemas via fpc-pascal <

Show quoted text 12 lines
wrote: 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

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

Reply by email

Luis - SoftSAT Sistemas
to Christo Crause
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 3:23 PM Luis - SoftSAT Sistemas via fpc-pascal wrote: > 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

Reply by email

Christo Crause
to Luis - SoftSAT Sistemas

On Tue, Feb 11, 2020 at 4:57 PM Luis - SoftSAT Sistemas <

Show quoted text 21 lines
wrote: > 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.

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.

Reply by email

Sven Barth
to Christo Crause

Christo Crause via fpc-pascal schrieb am
Di., 11. Feb. 2020, 19:42:

Show quoted text 31 lines
On Tue, Feb 11, 2020 at 4:57 PM Luis - SoftSAT Sistemas < > wrote: > > 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. > 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.

This will not work, because Lazarus does not distribute the complete sources.

Regards,
Sven

Reply by email

Luis - SoftSAT Sistemas
to Christo Crause: 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
On Tue, Feb 11, 2020 at 4:57 PM Luis - SoftSAT Sistemas wrote: >> 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.

-- 
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.

Reply by email

Joost van der Sluis
to Luis - SoftSAT Sistemas:

Op 10-02-2020 om 17:01 schreef Luis - SoftSAT Sistemas via fpc-pascal:

Show quoted text 14 lines
I'am on Windows and installed latest lazarus version(2.0.6), but TCSVDataset from fcl-db package have some bugs so i ported some fixes, now i need rebuild it, but i failed miserably. What i tryed CD C:\lazarus\fpc\3.0.4\source\packages\fcl-db make clean all install INSTALL_PREFIX=C:\lazarus\fpc\3.0.4 but i get 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 Fatal: Can't find unit system used by fpmake Fatal: Compilation aborted make: *** [fpmake.exe] Error 1

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.

Reply by email

Luis - SoftSAT Sistemas
to Joost van der Sluis

12.02.2020, 11:41, "Joost van der Sluis" :

Show quoted text 38 lines
Op 10-02-2020 om 17:01 schreef Luis - SoftSAT Sistemas via fpc-pascal: >  I'am on Windows and installed latest lazarus version(2.0.6), but >  TCSVDataset from fcl-db package have some bugs so i ported some fixes, >  now i need rebuild it, but i failed miserably. >  What i tryed >  CD C:\lazarus\fpc\3.0.4\source\packages\fcl-db >  make clean all install INSTALL_PREFIX=C:\lazarus\fpc\3.0.4 >  but i get >  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 >  Fatal: Can't find unit system used by fpmake >  Fatal: Compilation aborted >  make: *** [fpmake.exe] Error 1 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. _______________________________________________ fpc-pascal maillist - https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Excellent, i'll try it later.
Thank you.

Reply by email

Fabio Luis Girardi
to Joost van der Sluis: 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: > I'am on Windows and installed latest lazarus version(2.0.6), but > TCSVDataset from fcl-db package have some bugs so i ported some fixes, > now i need rebuild it, but i failed miserably. > What i tryed > CD C:\lazarus\fpc\3.0.4\source\packages\fcl-db > make clean all install INSTALL_PREFIX=C:\lazarus\fpc\3.0.4 > but i get > 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 > Fatal: Can't find unit system used by fpmake > Fatal: Compilation aborted > make: *** [fpmake.exe] Error 1 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. _______________________________________________ fpc-pascal maillist - https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply by email