Re: [fpc-pascal] Can't build single package
El 3/11/22 a les 9:31, Tomas Hajny via fpc-pascal ha escrit: Might as well build and install fpc from source :-/ That's always an option, of course. ;-) For the record (and for my memory, since I'm sure I'll forget), I almost did that (i.e. make rtl_install, make packages_install then copied the resulting units from d: to c:). Probably installing fpc completely would have been less effort :-D However, I guess that it would also help to run 'make rtl_clean packages_clean rtl_all packages_all' or even 'make distclean rtl_all packages_all'. Did you combine compilation using an IDE (e.g. Lazarus) with compilation using makefiles? That may easily lead to problems (especially due to compiled files being placed in locations not expected by the makefiles, thus resulting in multiple compiled versions of the same unit in different places)... No, I just use lazarus to install its packages (in fact lazsqldbrest was already installed in lazarus 2.2.2, but I had to uninstall it in order to compile lazarus 2.2.4: since I had modified the units in fcl-web the old lazarus was still working but the new one wouldn't compile). It doesn't help though that, in a futile attempt to avoid useless recompilations, I have this as a global lazarus "Additions and Overrides": OutDir -> lib/$(PkgName)/$(FPCVer)/$(TargetCPU)-$(TargetOS)/$(BuildMode) Anyway, for the time being, issue solved. Bye -- Luca ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Can't build single package
On 2022-11-03 08:58, Luca Olivetti via fpc-pascal wrote: El 2/11/22 a les 17:06, Tomas Hajny via fpc-pascal ha escrit: I see. This means that you already have the prerequisites fulfilled in the source tree for Linux, but not for Windows. Start by issuing 'make rtl_all packages_all' in D:\fpc-3.2.2. Then try rebuilding fcl-web in the fcl-web directory - I believe that it might work then. Yes, that worked, but then it caused another problem: I wanted to recompile fcl-web because I couldn't install the lazsqldbrest package Compile package sqldbrestschemadesigner 0.0: Exit code 1, Errors: 1, Warnings: 1 Warning: Recompiling sqldbrestmodule, checksum changed for C:\FPC\3.2.2\units\i386-win32\fcl-web\fphttp.ppu build304.pp(19,58) Fatal: Cannot find sqldbrestmodule used by build304. Make sure all ppu files of a package are in its output directory. ppu in wrong directory=C:\FPC\3.2.2\units\i386-win32\fcl-web\sqldbrestmodule.ppu.. Most probably because I modified some units to correct a couple of bugs. Now, after "make rtl_all packages_all" and copying the fcl-web units to the correct location, I get this Compile package sqldbrestschemadesigner 0.0: Exit code 1, Errors: 1, Warnings: 1 Warning: Recompiling sqldbrestschema, checksum changed for C:\FPC\3.2.2\units\i386-win32\rtl\classes.ppu sqldbrestschema.pp(13,55) Fatal: Can't find unit sqldbrestschema used by dlgrestfieldoptions Might as well build and install fpc from source :-/ That's always an option, of course. ;-) However, I guess that it would also help to run 'make rtl_clean packages_clean rtl_all packages_all' or even 'make distclean rtl_all packages_all'. Did you combine compilation using an IDE (e.g. Lazarus) with compilation using makefiles? That may easily lead to problems (especially due to compiled files being placed in locations not expected by the makefiles, thus resulting in multiple compiled versions of the same unit in different places)... Tomas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Can't build single package
El 2/11/22 a les 17:06, Tomas Hajny via fpc-pascal ha escrit: I see. This means that you already have the prerequisites fulfilled in the source tree for Linux, but not for Windows. Start by issuing 'make rtl_all packages_all' in D:\fpc-3.2.2. Then try rebuilding fcl-web in the fcl-web directory - I believe that it might work then. Yes, that worked, but then it caused another problem: I wanted to recompile fcl-web because I couldn't install the lazsqldbrest package Compile package sqldbrestschemadesigner 0.0: Exit code 1, Errors: 1, Warnings: 1 Warning: Recompiling sqldbrestmodule, checksum changed for C:\FPC\3.2.2\units\i386-win32\fcl-web\fphttp.ppu build304.pp(19,58) Fatal: Cannot find sqldbrestmodule used by build304. Make sure all ppu files of a package are in its output directory. ppu in wrong directory=C:\FPC\3.2.2\units\i386-win32\fcl-web\sqldbrestmodule.ppu.. Most probably because I modified some units to correct a couple of bugs. Now, after "make rtl_all packages_all" and copying the fcl-web units to the correct location, I get this Compile package sqldbrestschemadesigner 0.0: Exit code 1, Errors: 1, Warnings: 1 Warning: Recompiling sqldbrestschema, checksum changed for C:\FPC\3.2.2\units\i386-win32\rtl\classes.ppu sqldbrestschema.pp(13,55) Fatal: Can't find unit sqldbrestschema used by dlgrestfieldoptions Might as well build and install fpc from source :-/ Bye -- Luca ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Can't build single package
On 2022-11-02 16:40, Luca Olivetti via fpc-pascal wrote: El 2/11/22 a les 15:54, Tomas Hajny via fpc-pascal ha escrit: OK, the problem is that I installed the compiler with the windows installer and the makefile expects it to be in its tree (hence the "-n" and the "-Fu" options). Is there something I can do (other than building and installing the compiler from the source tree)? This is not matter of the compiler location (the current directory is the location where you started make.exe). However, you are supposed to have the packages sources together with the rtl sources. The location where you start make seems to be the directory of compiled fcl-web package rather than the directory with the respective sources. Did you copy the fcl-web sources there manually? No, in fact "make clean; make" under linux, with the same tree(*), works: luca@seis:~/Datos/fpc-3.2.2/packages/fcl-web$ make clean ; make ./fpmake clean --localunitdir=../.. --globalunitdir=.. --os=linux --cpu=x86_64 -o -Cg -o -dx86_64 --compiler=/usr/local/bin/ppcx64 -bu ./fpmake compile --localunitdir=../.. --globalunitdir=.. --os=linux --cpu=x86_64 -o -Cg -o -dx86_64 --compiler=/usr/local/bin/ppcx64 -bu Start compiling package fcl-web for target x86_64-linux. Compiling BuildUnit_fcl_web.pp Compiling ./src/base/fpmimetypes.pp Compiling ./src/base/httpprotocol.pp . Compiling ./src/restbridge/sqldbrestauthini.pp Compiling ./src/restbridge/sqldbrestmodule.pp [100%] Compiled package fcl-web The difference is that under Linux I built and installed fpc from that tree, but there are no compiled units for windows there (only the sources). (*) when I say "the same" I mean "the same", i.e. linux is the host and windows is a guest VM with the "~/Datos" directory mapped as network drive D: I see. This means that you already have the prerequisites fulfilled in the source tree for Linux, but not for Windows. Start by issuing 'make rtl_all packages_all' in D:\fpc-3.2.2. Then try rebuilding fcl-web in the fcl-web directory - I believe that it might work then. Tomas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Can't build single package
El 2/11/22 a les 15:54, Tomas Hajny via fpc-pascal ha escrit: OK, the problem is that I installed the compiler with the windows installer and the makefile expects it to be in its tree (hence the "-n" and the "-Fu" options). Is there something I can do (other than building and installing the compiler from the source tree)? This is not matter of the compiler location (the current directory is the location where you started make.exe). However, you are supposed to have the packages sources together with the rtl sources. The location where you start make seems to be the directory of compiled fcl-web package rather than the directory with the respective sources. Did you copy the fcl-web sources there manually? No, in fact "make clean; make" under linux, with the same tree(*), works: luca@seis:~/Datos/fpc-3.2.2/packages/fcl-web$ make clean ; make ./fpmake clean --localunitdir=../.. --globalunitdir=.. --os=linux --cpu=x86_64 -o -Cg -o -dx86_64 --compiler=/usr/local/bin/ppcx64 -bu ./fpmake compile --localunitdir=../.. --globalunitdir=.. --os=linux --cpu=x86_64 -o -Cg -o -dx86_64 --compiler=/usr/local/bin/ppcx64 -bu Start compiling package fcl-web for target x86_64-linux. Compiling BuildUnit_fcl_web.pp Compiling ./src/base/fpmimetypes.pp Compiling ./src/base/httpprotocol.pp . Compiling ./src/restbridge/sqldbrestauthini.pp Compiling ./src/restbridge/sqldbrestmodule.pp [100%] Compiled package fcl-web The difference is that under Linux I built and installed fpc from that tree, but there are no compiled units for windows there (only the sources). (*) when I say "the same" I mean "the same", i.e. linux is the host and windows is a guest VM with the "~/Datos" directory mapped as network drive D: Bye -- Luca ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Can't build single package
On 2022-11-02 15:25, Luca Olivetti via fpc-pascal wrote: El 2/11/22 a les 9:37, Luca Olivetti via fpc-pascal ha escrit: IIRC I did it in the past but now: D:\fpc-3.2.2\packages\fcl-web>make C:/FPC/3.2.2/bin/i386-Win32/ppc386.exe fpmake.pp -n -Fu../../rtl -Fu../../packages/paszlib -Fu../../packages/fcl-process -Fu../../packages/hash -Fu../../packages/libtar -Fu../../packages/fpmkunit/units_bs/i386-win32 Fatal: Can't find unit system used by fpmake Fatal: Compilation aborted make: *** [fpmake.exe] Error 1 OK, the problem is that I installed the compiler with the windows installer and the makefile expects it to be in its tree (hence the "-n" and the "-Fu" options). Is there something I can do (other than building and installing the compiler from the source tree)? This is not matter of the compiler location (the current directory is the location where you started make.exe). However, you are supposed to have the packages sources together with the rtl sources. The location where you start make seems to be the directory of compiled fcl-web package rather than the directory with the respective sources. Did you copy the fcl-web sources there manually? Tomas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Can't build single package
El 2/11/22 a les 9:37, Luca Olivetti via fpc-pascal ha escrit: IIRC I did it in the past but now: D:\fpc-3.2.2\packages\fcl-web>make C:/FPC/3.2.2/bin/i386-Win32/ppc386.exe fpmake.pp -n -Fu../../rtl -Fu../../packages/paszlib -Fu../../packages/fcl-process -Fu../../packages/hash -Fu../../packages/libtar -Fu../../packages/fpmkunit/units_bs/i386-win32 Fatal: Can't find unit system used by fpmake Fatal: Compilation aborted make: *** [fpmake.exe] Error 1 OK, the problem is that I installed the compiler with the windows installer and the makefile expects it to be in its tree (hence the "-n" and the "-Fu" options). Is there something I can do (other than building and installing the compiler from the source tree)? Bye -- LUca ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
[fpc-pascal] Can't build single package
IIRC I did it in the past but now: D:\fpc-3.2.2\packages\fcl-web>make C:/FPC/3.2.2/bin/i386-Win32/ppc386.exe fpmake.pp -n -Fu../../rtl -Fu../../packages/paszlib -Fu../../packages/fcl-process -Fu../../packages/hash -Fu../../packages/libtar -Fu../../packages/fpmkunit/units_bs/i386-win32 Fatal: Can't find unit system used by fpmake Fatal: Compilation aborted make: *** [fpmake.exe] Error 1 D:\fpc-3.2.2\packages\fcl-web>fpc fpmake.pp Free Pascal Compiler version 3.2.2 [2021/05/15] for i386 Copyright (c) 1993-2021 by Florian Klaempfl and others Target OS: Win32 for i386 Compiling fpmake.pp Linking fpmake.exe 438 lines compiled, 0.3 sec, 330944 bytes code, 15364 bytes data D:\fpc-3.2.2\packages\fcl-web>make ./fpmake.exe compile --localunitdir=../.. --globalunitdir=.. --os=win32 --cpu=i386 -o -di386 --compiler=C:/FPC/3.2.2/bin/i386-Win32/ppc386.exe -bu The installer encountered the following error: Could not find unit directory for dependency package "rtl" required for package "fcl-web" make: *** [all] Error 1 Bye -- Luca ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal