Sign in Join

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

Mailing lists / fpc-pascal / 2012-11

Cross-compiling FPC trunk to Win x64 fails using fpcup - make file problems?

4 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

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

Reinier Olislagers

Hi list,

I wonder if the problems below are caused by wrong make files or problems in fpcup:
(fpc trunk, Windows; fpcup compiles fpc x86+Lazarus fine, then tries an x64 cross compile followed by an LCL cross compile):

Compiles along for x64 as shown here:
C:/development/fpctrunk/compiler/ppcrossx64.exe -Twin64 -Px86_64 -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64
-FDC:/development/fpctrunk/bin/x86_64-win64 -FE.
-FUC:/development/fpctrunk/rtl/units/x86_64-win64 -gw -gl -dx86_64 -dRELEASE ../inc/lnfodwrf.pp
make.exe[3]: Leaving directory `C:/development/fpctrunk/rtl/win64'

.... but then it starts to try i386 output:!?!?
make.exe[1]: Entering directory `C:/development/fpctrunk' C:/development/fpcbootstrap/make.exe -C packages all make.exe[2]: Entering directory `C:/development/fpctrunk/packages' C:/development/fpcbootstrap/make.exe -C fpmkunit bootstrap make.exe[3]: Entering directory `C:/development/fpctrunk/packages/fpmkunit' C:/development/fpcbootstrap/gmkdir.exe -p units_bs/i386-win32 C:/development/fpctrunk/compiler/ppc.exe src/fpmkunit.pp -n -FuC:/development/fpctrunk/rtl/units/i386-win32
-FuC:/development/fpctrunk/packages/paszlib/units/i386-win32 -FuC:/development/fpctrunk/packages/fcl-process/units/i386-win32 -FuC:/development/fpctrunk/packages/hash/units/i386-win32 -FUunits_bs/i386-win32 -Fu../paszlib/src -Fu../hash/src -Fi../paszlib/src -Fi../fcl-process/src/win -Fu../fcl-process/src -Fi../fcl-process/src/win32 -Fi../fcl-process/src/dummy -gw -gl make.exe[3]: Leaving directory `C:/development/fpctrunk/packages/fpmkunit' C:/development/fpctrunk/compiler/ppc.exe fpmake.pp -n -FuC:/development/fpctrunk/packages/fpmkunit/units_bs/i386-win32 -FuC:/development/fpctrunk/rtl/units/i386-win32 -gw -gl Fatal: Can't find unit process used by fpmkunit
Fatal: Compilation aborted

Reply by email

Jonas Maebe
to Reinier Olislagers
Reinier Olislagers wrote
I wonder if the problems below are caused by wrong make files or problems in fpcup: (fpc trunk, Windows; fpcup compiles fpc x86+Lazarus fine, then tries an x64 cross compile followed by an LCL cross compile):

It's probably the same problem you had last time: the fact that "make distclean" does not work properly. In the mean time, it has been partially fixed in that running "make distclean" twice right after each other does clean everything. Try that and building then.

Jonas

Reply by email

Reinier Olislagers
to Jonas Maebe
Jonas Maebe wrote 9 lines
On 01 Nov 2012, at 16:04, Reinier Olislagers wrote: > I wonder if the problems below are caused by wrong make files or > problems in fpcup: > (fpc trunk, Windows; fpcup compiles fpc x86+Lazarus fine, then tries an > x64 cross compile followed by an LCL cross compile): It's probably the same problem you had last time: the fact that "make distclean" does not work properly. In the mean time, it has been partially fixed in that running "make distclean" twice right after each other does clean everything. Try that and building then.

Thanks Jonas - meanwhile I did implement a radical distclean alternative. You're right, I should really check again with a clean slate (i.e. clean svn checkout).

Anyway, great news about the double distclean fixing things, I can fairly easily use that in fpcup as a workaround rather than trying to duplicate things!

Thanks,
Reinier

Reply by email

Reinier Olislagers
to Jonas Maebe: It's probably the same problem you had last time: the fact that "make distclean" does not…
Jonas Maebe wrote 10 lines
On 01 Nov 2012, at 16:04, Reinier Olislagers wrote: > I wonder if the problems below are caused by wrong make files or > problems in fpcup: > (fpc trunk, Windows; fpcup compiles fpc x86+Lazarus fine, then tries an > x64 cross compile followed by an LCL cross compile): It's probably the same problem you had last time: the fact that "make distclean" does not work properly. In the mean time, it has been partially fixed in that running "make distclean" twice right after each other does clean everything. Try that and building then.

Thanks, Jonas, changing fpcup to run make distclean 2x seemed to fix this. (Leaving some LCL x64 problems but that's another story)

Reply by email