Re: [Lazarus] Cross-compiling to win32 from debian stretch
On Sun, 3 Dec 2017 21:29:04 +0100 kardan via Lazarus wrote: >[...] > $ export fpcoptions='OS_TARGET=win32 CPU_TARGET=i386' > $ make all $fpcoptions > Makefile:215: *** The Makefile doesn't support target i386-win32, > please run fpcmake first. Stop. The hint about 'run fpcmake' is misleading here. Do not run it. Please revert any changes. svn revert -R . > What did I do wrong? Note that for me basic steps related to fpc are > unknown, however I am able to follow the orders by the compiler output. It works here with the svn checkout of fpc trunk. Maybe you fetched the wrong repository or you have local modifications or you have a different 'make'. Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus
Re: [Lazarus] Cross-compiling to win32 from debian stretch
On 12/03/2017 03:29 PM, kardan via Lazarus wrote: Thanks for the info. Just tried it again: $ git svn fetch && make all Makefile:2918: *** The only supported starting compiler version is 3.0.2. You are trying to build with 3.0.4.. Stop. as noted previously, you /MUST/ use 3.0.2 to build 3.0.4... after 3.0.4 is adopted and made the minimum version, then you can use it to build newer versions greater than 3.0.4 but to build 3.0.4 you will /always/ have to use 3.0.2, the last release before 3.0.4 became available... -- NOTE: No off-list assistance is given without prior approval. *Please keep mailing list traffic on the list unless* *a signed and pre-paid contract is in effect with us.* -- ___ Lazarus mailing list Lazarus@lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus
Re: [Lazarus] Cross-compiling to win32 from debian stretch
Today I upgraded fpc* to 3.0.4+dfsg-2. Thanks for uploading the latest release to debian testing so fast! On Thu, 30 Nov 2017 11:34:55 +0100 Mattias Gaertner via Lazarus wrote: > > ~/src/fpc(master)$ make all > > Makefile:2918: *** The only supported starting compiler version is > > 3.0.2. You are trying to build with 3.0.4.. Stop. > > In general you need the last release of FPC to build the new FPC. > And with release I don't mean release candidates. So 3.0.2 was the > last release. > FPC 3.0.4 was released today, so FPC trunk will soon require 3.0.4. > > Mattias Thanks for the info. Just tried it again: $ git svn fetch && make all Makefile:2918: *** The only supported starting compiler version is 3.0.2. You are trying to build with 3.0.4.. Stop. $ fpc|head -n3 Free Pascal Compiler version 3.0.4 [2017/10/02] for i386 Copyright (c) 1993-2017 by Florian Klaempfl and others /usr/local/bin/fpc [options] [options] $ export fpcoptions='OS_TARGET=win32 CPU_TARGET=i386' $ make all $fpcoptions Makefile:215: *** The Makefile doesn't support target i386-win32, please run fpcmake first. Stop. $ fpcmake && make all $fpcoptions Processing Makefile.fpc i386-linux requires: Writing Makefile Makefile:215: *** The Makefile doesn't support target i386-win32, please run fpcmake first. Stop. What did I do wrong? Note that for me basic steps related to fpc are unknown, however I am able to follow the orders by the compiler output. Thanks! kardan -- ___ Lazarus mailing list Lazarus@lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus
Re: [Lazarus] Cross-compiling to win32 from debian stretch
First rebuild your normal (not the cross version) FPC from trunk. Then change your path environment variable to contain the new compiler's path. You can change it if you open the file .profile in your home folder. Add a new line to the end of the file. An example: export PATH=/home/the-new-path-comes-here/:$PATH Logout and Login again to apply the changes. You can check which compiler will be used with the 'which fpc" command. Now you can build your cross compiler with your new compiler on the new path. The old one will be bypassed if everything is okay. I hope I didn't miss anything... 2017-11-30 10:58 keltezéssel, kardan via Lazarus írta: > Hi, > > it looks like I need to train my patience a bit more. > > On Tue, 28 Nov 2017 20:21:47 +0100 > kardan via Lazarus wrote: > >> summary: my fpc and ppcross* have different versions, because I can't >> build fpc with the installed version. Why does this happen: >> >> ~/src/fpc(master)$ make all >> Makefile:2918: *** The only supported starting compiler version is >> 3.0.2. You are trying to build with 3.0.4.. Stop. > > can I still expect an answer or what did I do wrong? > > Thanks for your hints! > Kardan > -- Péter Gábor p...@freemail.hu -- ___ Lazarus mailing list Lazarus@lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus
Re: [Lazarus] Cross-compiling to win32 from debian stretch
On Tue, 28 Nov 2017 20:21:47 +0100 kardan via Lazarus wrote: > Hi, > > summary: my fpc and ppcross* have different versions, because I can't > build fpc with the installed version. Why does this happen: > > ~/src/fpc(master)$ make all > Makefile:2918: *** The only supported starting compiler version is > 3.0.2. You are trying to build with 3.0.4.. Stop. In general you need the last release of FPC to build the new FPC. And with release I don't mean release candidates. So 3.0.2 was the last release. FPC 3.0.4 was released today, so FPC trunk will soon require 3.0.4. Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus
Re: [Lazarus] Cross-compiling to win32 from debian stretch
Hi, it looks like I need to train my patience a bit more. On Tue, 28 Nov 2017 20:21:47 +0100 kardan via Lazarus wrote: > summary: my fpc and ppcross* have different versions, because I can't > build fpc with the installed version. Why does this happen: > > ~/src/fpc(master)$ make all > Makefile:2918: *** The only supported starting compiler version is > 3.0.2. You are trying to build with 3.0.4.. Stop. can I still expect an answer or what did I do wrong? Thanks for your hints! Kardan -- ___ Lazarus mailing list Lazarus@lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus
Re: [Lazarus] Cross-compiling to win32 from debian stretch
Hi, summary: my fpc and ppcross* have different versions, because I can't build fpc with the installed version. Why does this happen: ~/src/fpc(master)$ make all Makefile:2918: *** The only supported starting compiler version is 3.0.2. You are trying to build with 3.0.4.. Stop. On Tue, 28 Nov 2017 08:18:29 +0100 Péter Gábor via Lazarus wrote: > You may have a different fpc.cfg (named .fpc.cfg << spot the dot on > Linux) in your home folder. $ find /|grep 'fpc*.cfg' /etc/fpc.cfg /etc/fpc.cfg.bak /usr/lib/fpc/3.0.4/ide/text/fp.cfg /usr/share/fpcsrc/3.0.4/utils/fpcmkcfg/fpccfg.inc /home/tomboy/src/fpc/utils/fpcmkcfg/fpccfg.inc $ /home/tomboy/src/fpc# ls -ls /usr/share/fpcsrc/ total 4 4 drwxr-xr-x 9 root root 4096 Nov 21 16:25 3.0.4 0 lrwxrwxrwx 1 root root1 Nov 26 18:43 3.1.1 -> . 0 lrwxrwxrwx 1 root root1 Nov 27 18:33 3.1.2 -> . (These version numbers are nonsense, just needed a way to separate the version from zip (3.1.1) and trunk (3.1.2) before I dropped the first.) On Tue, 28 Nov 2017 11:36:25 +0100 Mattias Gaertner via Lazarus wrote: > And where are your fpc's i386-win32 ppu files? /usr/lib/fpc/3.1.1/units/i386-win32 $ find /usr/lib/fpc/3.1.1/units/i386-win32 -name '*.ppu'|grep system /usr/lib/fpc/3.1.1/units/i386-win32/winunits-base/mmsystem.ppu /usr/lib/fpc/3.1.1/units/i386-win32/rtl/system.ppu > > # searchpath for units and other system dependent things > > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget > > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/* > > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl So it should be found, no? The term ppu was new to me. I just return from reading [1] and installed the binutils: $ sudo apt-get install binutils-mingw-w64 binutils-powerpc-linux-gnu binutils-powerpc64-linux-gnu [1] http://wiki.lazarus.freepascal.org/Cross_compiling#Units_for_target > > From that I can't see why 3.0.4rc1 is used for win32. > > Maybe ppc386 is in the PATH. > fpc -Pi386 -Twin32 true. $ for fpc in /usr/bin/ppc*; do echo -n "$fpc: "; $fpc -V|head -n1; done /usr/bin/ppc386: Free Pascal Compiler version 3.0.4rc1 [2017/08/07] for i386 /usr/bin/ppcross386: Free Pascal Compiler version 3.1.1 [2017/11/27] for i386 /usr/bin/ppcrossx64: Free Pascal Compiler version 3.1.1 [2017/11/27] for x86_64 $ cd ~/src/tomboy/src/tomboy-ng $ fpc -Pi386 -Twin32 -Fu/usr/lib/fpc/3.1.1/units/i386-win32 mainunit.pas Free Pascal Compiler version 3.0.4rc1 [2017/08/07] for i386 Copyright (c) 1993-2017 by Florian Klaempfl and others Target OS: Win32 for i386 Compiling tomboy-ng/mainunit.pas Fatal: Can't find unit system used by MainUnit Fatal: Compilation aborted Error: /usr/bin/ppc386 returned an error exitcode $ fpc -Pi386 -Twin32 -Fu/usr/lib/fpc/3.1.1/units/i386-win32 \ -Fu/usr/lib/fpc/3.1.1/units/i386-win32/rtl mainunit.pas Free Pascal Compiler version 3.0.4rc1 [2017/08/07] for i386 Copyright (c) 1993-2017 by Florian Klaempfl and others Target OS: Win32 for i386 Compiling mainunit.pas PPU Loading /usr/lib/fpc/3.1.1/units/i386-win32/rtl/system.ppu PPU Invalid Version 196 Fatal: Can't find unit system used by MainUnit Fatal: Compilation aborted Error: /usr/bin/ppc386 returned an error exitcod $ /usr/bin/ppc386 -Pi386 -Twin32 -Fu/usr/lib/fpc/3.1.1/units/i386-win32 -Fu/usr/lib/fpc/3.1.1/units/i386-win32/rtl mainunit.pas Free Pascal Compiler version 3.0.4rc1 [2017/08/07] for i386 Copyright (c) 1993-2017 by Florian Klaempfl and others Target OS: Win32 for i386 Compiling mainunit.pas PPU Loading /usr/lib/fpc/3.1.1/units/i386-win32/rtl/system.ppu PPU Invalid Version 196 Fatal: Can't find unit system used by MainUnit Fatal: Compilation aborted $ /usr/bin/ppcross386 -Pi386 -Twin32 -Fu/usr/lib/fpc/3.1.1/units/i386-win32 -Fu/usr/lib/fpc/3.1.1/units/i386-win32/rtl mainunit.pas Free Pascal Compiler version 3.1.1 [2017/11/27] for i386 Copyright (c) 1993-2017 by Florian Klaempfl and others Target OS: Win32 for i386 Compiling mainunit.pas mainunit.pas(57,24) Fatal: Can't find unit FileUtil used by MainUnit Fatal: Compilation aborted $ lazbuild Tomboy_NG.lpi Free Pascal Compiler version 3.1.1 [2017/11/27] for x86_64 Copyright (c) 1993-2017 by Florian Klaempfl and others (1002) Target OS: Linux for x86-64 (3104) Compiling fcllaz.pas Fatal: (10022) Can't find unit system used by fcllaz Fatal: (1018) Compilation aborted Error: /usr/bin/ppcrossx64 returned an error exitcode Error: (lazarus) Compile package FCL 1.0.1: stopped with exit code 256 Error: (lazarus) [TLazPackageGraph.CompileRequiredPackages] "Exit code 256" Error: (lazbuild) Project dependencies of /home/tomboy/src/tomboy/src/tomboy-ng/Tomboy_NG.lpi > You can specify the compiler that lazbuild uses with --compiler= --compiler= override the default compiler. e.g. ppc386, ppcx64, ppcppc etc. $ lazbuild --compiler=ppc386 Tomboy_NG.lpi (3104) Compiling /home/tomboy/src/tomboy/lib/tkweb-kcontrols-9fab2d710a8c/source/kdbgrids.pas (1010) Writing Resource String Table file: kdbgrids.rsj (1008) 77290 lines compiled, 9.4 sec
Re: [Lazarus] Cross-compiling to win32 from debian stretch
On Tue, 28 Nov 2017 00:41:38 +0100 kardan via Lazarus wrote: > Really appreciate the fast reply! > > On Tue, 28 Nov 2017 00:20:29 +0100 > Mattias Gaertner via Lazarus wrote: > > > Check your -Fu paths in /etc/fpc.cfg. They should contain the > > paths to fpc's i386-win32 ppu files. > > > > Mattias > > This is what i found related to -Fu in /etc/fpc.cfg: > > # searchpath for units and other system dependent things > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/* > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl And where are your fpc's i386-win32 ppu files? > From that I can't see why 3.0.4rc1 is used for win32. Maybe ppc386 is in the PATH. fpc -Pi386 -Twin32 You can specify the compiler that lazbuild uses with --compiler= Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus
Re: [Lazarus] Cross-compiling to win32 from debian stretch
You may have a different fpc.cfg (named .fpc.cfg << spot the dot on Linux) in your home folder. 2017-11-28 00:41 keltezéssel, kardan via Lazarus írta: > Really appreciate the fast reply! > > On Tue, 28 Nov 2017 00:20:29 +0100 > Mattias Gaertner via Lazarus wrote: > >> Check your -Fu paths in /etc/fpc.cfg. They should contain the >> paths to fpc's i386-win32 ppu files. >> >> Mattias > > This is what i found related to -Fu in /etc/fpc.cfg: > > # searchpath for units and other system dependent things > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/* > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl > > #ifdef cpui8086 > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/$fpcsubarch-$fpcmemorymodel > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/$fpcsubarch-$fpcmemorymodel/* > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/$fpcsubarch-$fpcmemorymodel/rtl > #endif > > #IFDEF FPCAPACHE_1_3 > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd13/ > #ELSE > #IFDEF FPCAPACHE_2_0 > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd20 > #ELSE > -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd22 > #ENDIF > #ENDIF > > # searchpath for fppkg user-specific packages > -Fu~/.fppkg/lib/fpc/$fpcversion/units/$FPCTARGET/* > > ~/.fpkg does not exist, but there is another version in /etc: > > $ ls /etc/fpc* > /etc/fpc-3.0.0.cfg /etc/fpc.bak /etc/fpc.cfg /etc/fpc.cfg.bak > > $ diff /etc/fpc.cfg /etc/fpc-3.0.0.cfg > 2c2 > < # Config file generated by fpcmkcfg on 21-11-17 - 14:07:55 > --- >> # Config file generated by fpcmkcfg on 10-11-17 - 07:19:33 > 145c145 > < -FM/usr/lib/fpc/../../share/fpc/$fpcversion/unicode/ > --- >> -FM/unicode/ > 283a284,289 >> # multiarch library search path >> -Fl/usr/lib/$fpctarget-* >> # Third party units should be installe in a, multi-arch compatible location. >> # Units should be installed in /usr/lib/$fpctarget-gnu/fp-units-2.6.2/$pkg/. >> # Ech fp-units package should install a configuration file called $pkg.cfg in >> #CFGDIR /etc/fpc-$fpcversion.cfg.d/$fpctarget > > From that I can't see why 3.0.4rc1 is used for win32. > > Kardan > -- Péter Gábor p...@freemail.hu -- ___ Lazarus mailing list Lazarus@lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus
Re: [Lazarus] Cross-compiling to win32 from debian stretch
Really appreciate the fast reply! On Tue, 28 Nov 2017 00:20:29 +0100 Mattias Gaertner via Lazarus wrote: > Check your -Fu paths in /etc/fpc.cfg. They should contain the > paths to fpc's i386-win32 ppu files. > > Mattias This is what i found related to -Fu in /etc/fpc.cfg: # searchpath for units and other system dependent things -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/* -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl #ifdef cpui8086 -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/$fpcsubarch-$fpcmemorymodel -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/$fpcsubarch-$fpcmemorymodel/* -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/$fpcsubarch-$fpcmemorymodel/rtl #endif #IFDEF FPCAPACHE_1_3 -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd13/ #ELSE #IFDEF FPCAPACHE_2_0 -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd20 #ELSE -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd22 #ENDIF #ENDIF # searchpath for fppkg user-specific packages -Fu~/.fppkg/lib/fpc/$fpcversion/units/$FPCTARGET/* ~/.fpkg does not exist, but there is another version in /etc: $ ls /etc/fpc* /etc/fpc-3.0.0.cfg /etc/fpc.bak /etc/fpc.cfg /etc/fpc.cfg.bak $ diff /etc/fpc.cfg /etc/fpc-3.0.0.cfg 2c2 < # Config file generated by fpcmkcfg on 21-11-17 - 14:07:55 --- > # Config file generated by fpcmkcfg on 10-11-17 - 07:19:33 145c145 < -FM/usr/lib/fpc/../../share/fpc/$fpcversion/unicode/ --- > -FM/unicode/ 283a284,289 > # multiarch library search path > -Fl/usr/lib/$fpctarget-* > # Third party units should be installe in a, multi-arch compatible location. > # Units should be installed in /usr/lib/$fpctarget-gnu/fp-units-2.6.2/$pkg/. > # Ech fp-units package should install a configuration file called $pkg.cfg in > #CFGDIR /etc/fpc-$fpcversion.cfg.d/$fpctarget From that I can't see why 3.0.4rc1 is used for win32. Kardan -- ___ Lazarus mailing list Lazarus@lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus
Re: [Lazarus] Cross-compiling to win32 from debian stretch
On Tue, 28 Nov 2017 00:07:33 +0100 kardan via Lazarus wrote: >[...] > $ lazbuild --pcp=../../lazconf --os=win32 --cpu=i386 Tomboy_NG.lpi > Free Pascal Compiler version 3.0.4rc1 [2017/08/07] for i386 > Copyright (c) 1993-2017 by Florian Klaempfl and others > (1002) Target OS: Win32 for i386 > (3104) Compiling fcllaz.pas > Fatal: (10022) Can't find unit system used by fcllaz Check your -Fu paths in /etc/fpc.cfg. They should contain the paths to fpc's i386-win32 ppu files. Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus