Sign in Join

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

Mailing lists / fpc-devel / 2012-08

Crosscompiling problem on Win7 64bit

5 messages · 3 people ·

Reply by email Subscribe to this list Your subscription

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

ABorka

Hi,

I was not able to create a cross-compiled version of the SVN trunk FPC for some reason.

Win7 64bit (FPC 2.6.0 -> 2.7.1)

1. Brand new system, installed the 2.6.0 FPC OK
2. Compiled the default 32bit FPC OK
3. Tried to compile the 64bit cross library and getting the following: "Error: Illegal parameter: -Twin64"
(see output at the bottom of my email)
-----------------

Here is my Windows .bat file
===============
@rem 1st clean compile
PATH=C:\FPC\2.6.0\bin\i386-win32;
SET FPC=C:\FPC\2.6.0\bin\i386-win32\fpc.exe

cd \mydir\fpc\fpc_svn

@rem 32bit
make clean distclean
make all
make install
make clean

@rem 64bit
make all OS_TARGET=win64 CPU_TARGET=x86_64 <=== error comes here ==== make crossinstall OS_TARGET=win64 CPU_TARGET=x86_64 make clean OS_TARGET=win64 CPU_TARGET=x86_64
=================

Something like this worked with the previous FPC versions (2.4.0 -> 2.5.1) What has changed and what am I doing wrong?
Thanks for any help.

AB

================
PS: Here is the end of the output of the
"make all OS_TARGET=win64 CPU_TARGET=x86_64"

.
.
.
fmtbcd.pp(3845,33) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString" signals.pp(490,44) Warning: Conversion between ordinals and pointers is not portable
C:/mydir/fpc/fpc_svn/compiler/ppcrossx64.exe -Twin64 -Px86_64 -XPx86_64-win64- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64 -FE. -FUC:/mydir/fpc/fpc_svn/rtl/units/x86_64-win64 -dx86_64 -dRELEASE ../inc/macpas.pp
C:/mydir/fpc/fpc_svn/compiler/ppcrossx64.exe -Twin64 -Px86_64 -XPx86_64-win64- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64 -FE. -FUC:/mydir/fpc/fpc_svn/rtl/units/x86_64-win64 -dx86_64 -dRELEASE ../inc/iso7185.pp
C:/mydir/fpc/fpc_svn/compiler/ppcrossx64.exe -Twin64 -Px86_64 -XPx86_64-win64- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64 -FE. -FUC:/mydir/fpc/fpc_svn/rtl/units/x86_64-win64 -dx86_64 -dRELEASE ../inc/lineinfo.pp
C:/mydir/fpc/fpc_svn/compiler/ppcrossx64.exe -Twin64 -Px86_64 -XPx86_64-win64- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64 -FE. -FUC:/mydir/fpc/fpc_svn/rtl/units/x86_64-win64 -dx86_64 -dRELEASE ../inc/lnfodwrf.pp
make[3]: Leaving directory `C:/mydir/fpc/fpc_svn/rtl/win64' make[2]: Leaving directory `C:/mydir/fpc/fpc_svn/rtl' make[1]: Leaving directory `C:/mydir/fpc/fpc_svn'
make packages_all FPC=C:/mydir/fpc/fpc_svn/compiler/ppcrossx64.exe RELEASE=1 make[1]: Entering directory `C:/mydir/fpc/fpc_svn' make -C packages all
make[2]: Entering directory `C:/mydir/fpc/fpc_svn/packages' make -C fpmkunit bootstrap
make[3]: Entering directory `C:/mydir/fpc/fpc_svn/packages/fpmkunit' C:/mydir/fpc/fpc_svn/compiler/ppc.exe src/fpmkunit.pp -n -Twin64 -Px86_64 -XPx86_64-win64- -Xr -Ur -Xs -O2 -n
-FuC:/mydir/fpc/fpc_svn/rtl/units/x86_64-win64
-FuC:/mydir/fpc/fpc_svn/packages/paszlib -FuC:/mydir/fpc/fpc _svn/packages/fcl-process -FuC:/mydir/fpc/fpc_svn/packages/hash -FE. -FUunits/x86_64-win64 -dx86_64 -dRELEASE
-FuC:/mydir/fpc/fpc_svn/rtl/units/i386-win32
-FuC:/mydir/fpc/fpc_svn/packages/paszlib -FuC:/mydir/fpc/fpc_ svn/packages/fcl-process -FuC:/mydir/fpc/fpc_svn/packages/hash -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
Error: Illegal parameter: -Twin64
make[3]: *** [bootstrap] Error 1
make[3]: Leaving directory `C:/mydir/fpc/fpc_svn/packages/fpmkunit' make[2]: *** [fpmkunit_bootstrap] Error 2
make[2]: Leaving directory `C:/mydir/fpc/fpc_svn/packages' make[1]: *** [packages_all] Error 2
make[1]: Leaving directory `C:/mydir/fpc/fpc_svn'
make: *** [build-stamp.x86_64-win64] Error 2
===============

Reply by email

Gennadiy Poryev
to ABorka

Try that

make install CROSSINSTALL=1 CPU_TARGET=x86_64 OS_TARGET=win64 SNAPSHOT=1

also make sure win64 binutils are available in the PATH. worked for me in the same scenario.

Show quoted text 107 lines
-----Original Message----- From: [mailto:fpc-devel- On Behalf Of ABorka Sent: Friday, August 17, 2012 9:05 AM To: FPC developers' list Subject: [fpc-devel] Crosscompiling problem on Win7 64bit Hi, I was not able to create a cross-compiled version of the SVN trunk FPC for some reason. Win7 64bit (FPC 2.6.0 -> 2.7.1) 1. Brand new system, installed the 2.6.0 FPC OK 2. Compiled the default 32bit FPC OK 3. Tried to compile the 64bit cross library and getting the following: "Error: Illegal parameter: -Twin64" (see output at the bottom of my email) ----------------- Here is my Windows .bat file =============== @rem 1st clean compile PATH=C:\FPC\2.6.0\bin\i386-win32; SET FPC=C:\FPC\2.6.0\bin\i386-win32\fpc.exe cd \mydir\fpc\fpc_svn @rem 32bit make clean distclean make all make install make clean @rem 64bit make all OS_TARGET=win64 CPU_TARGET=x86_64 <=== error comes here ==== make crossinstall OS_TARGET=win64 CPU_TARGET=x86_64 make clean OS_TARGET=win64 CPU_TARGET=x86_64 ================= Something like this worked with the previous FPC versions (2.4.0 -> 2.5.1) What has changed and what am I doing wrong? Thanks for any help. AB ================ PS: Here is the end of the output of the "make all OS_TARGET=win64 CPU_TARGET=x86_64" . . . fmtbcd.pp(3845,33) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString" signals.pp(490,44) Warning: Conversion between ordinals and pointers is not portable C:/mydir/fpc/fpc_svn/compiler/ppcrossx64.exe -Twin64 -Px86_64 -XPx86_64-win64- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64 -FE. -FUC:/mydir/fpc/fpc_svn/rtl/units/x86_64-win64 -dx86_64 -dRELEASE ../inc/macpas.pp C:/mydir/fpc/fpc_svn/compiler/ppcrossx64.exe -Twin64 - Px86_64 -XPx86_64-win64- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64 -FE. -FUC:/mydir/fpc/fpc_svn/rtl/units/x86_64-win64 -dx86_64 -dRELEASE ../inc/iso7185.pp C:/mydir/fpc/fpc_svn/compiler/ppcrossx64.exe -Twin64 - Px86_64 -XPx86_64-win64- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64 -FE. -FUC:/mydir/fpc/fpc_svn/rtl/units/x86_64-win64 -dx86_64 -dRELEASE ../inc/lineinfo.pp C:/mydir/fpc/fpc_svn/compiler/ppcrossx64.exe -Twin64 - Px86_64 -XPx86_64-win64- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64 -FE. -FUC:/mydir/fpc/fpc_svn/rtl/units/x86_64-win64 -dx86_64 -dRELEASE ../inc/lnfodwrf.pp make[3]: Leaving directory `C:/mydir/fpc/fpc_svn/rtl/win64' make[2]: Leaving directory `C:/mydir/fpc/fpc_svn/rtl' make[1]: Leaving directory `C:/mydir/fpc/fpc_svn' make packages_all FPC=C:/mydir/fpc/fpc_svn/compiler/ppcrossx64.exe RELEASE=1 make[1]: Entering directory `C:/mydir/fpc/fpc_svn' make -C packages all make[2]: Entering directory `C:/mydir/fpc/fpc_svn/packages' make -C fpmkunit bootstrap make[3]: Entering directory `C:/mydir/fpc/fpc_svn/packages/fpmkunit' C:/mydir/fpc/fpc_svn/compiler/ppc.exe src/fpmkunit.pp -n -Twin64 -Px86_64 -XPx86_64-win64- -Xr -Ur -Xs -O2 -n -FuC:/mydir/fpc/fpc_svn/rtl/units/x86_64-win64 -FuC:/mydir/fpc/fpc_svn/packages/paszlib -FuC:/mydir/fpc/fpc _svn/packages/fcl-process -FuC:/mydir/fpc/fpc_svn/packages/hash -FE. -FUunits/x86_64-win64 -dx86_64 -dRELEASE -FuC:/mydir/fpc/fpc_svn/rtl/units/i386-win32 -FuC:/mydir/fpc/fpc_svn/packages/paszlib -FuC:/mydir/fpc/fpc_ svn/packages/fcl-process -FuC:/mydir/fpc/fpc_svn/packages/hash -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 Error: Illegal parameter: -Twin64 make[3]: *** [bootstrap] Error 1 make[3]: Leaving directory `C:/mydir/fpc/fpc_svn/packages/fpmkunit' make[2]: *** [fpmkunit_bootstrap] Error 2 make[2]: Leaving directory `C:/mydir/fpc/fpc_svn/packages' make[1]: *** [packages_all] Error 2 make[1]: Leaving directory `C:/mydir/fpc/fpc_svn' make: *** [build-stamp.x86_64-win64] Error 2 =============== _______________________________________________ fpc-devel maillist - http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply by email

ABorka
to Gennadiy Poryev

The error comes during the

make all OS_TARGET=win64 CPU_TARGET=x86_64 <=== error comes here

not in the following "make install..." command
No change after executing the fpc-2.6.0.x86_64-win64.exe installation to the original fpc-2.6.0.i386-win32.exe

Gennadiy Poryev wrote 121 lines
Try that make install CROSSINSTALL=1 CPU_TARGET=x86_64 OS_TARGET=win64 SNAPSHOT=1 also make sure win64 binutils are available in the PATH. worked for me in the same scenario. > -----Original Message----- > From: [mailto:fpc-devel- > On Behalf Of ABorka > Sent: Friday, August 17, 2012 9:05 AM > To: FPC developers' list > Subject: [fpc-devel] Crosscompiling problem on Win7 64bit > > Hi, > > I was not able to create a cross-compiled version of the SVN trunk FPC for > some reason. > > Win7 64bit (FPC 2.6.0 -> 2.7.1) > > 1. Brand new system, installed the 2.6.0 FPC OK > 2. Compiled the default 32bit FPC OK > 3. Tried to compile the 64bit cross library and getting the following: > "Error: Illegal parameter: -Twin64" > (see output at the bottom of my email) > ----------------- > > Here is my Windows .bat file > =============== > @rem 1st clean compile > PATH=C:\FPC\2.6.0\bin\i386-win32; > SET FPC=C:\FPC\2.6.0\bin\i386-win32\fpc.exe > > cd \mydir\fpc\fpc_svn > > @rem 32bit > make clean distclean > make all > make install > make clean > > @rem 64bit > make all OS_TARGET=win64 CPU_TARGET=x86_64 <=== error comes here > ==== make crossinstall OS_TARGET=win64 CPU_TARGET=x86_64 make clean > OS_TARGET=win64 CPU_TARGET=x86_64 ================= > > Something like this worked with the previous FPC versions (2.4.0 -> 2.5.1) > What has changed and what am I doing wrong? > Thanks for any help. > > AB > > ================ > PS: Here is the end of the output of the "make all OS_TARGET=win64 > CPU_TARGET=x86_64" > > . > . > . > fmtbcd.pp(3845,33) Warning: Implicit string type conversion with potential > data loss from "UnicodeString" to "AnsiString" > signals.pp(490,44) Warning: Conversion between ordinals and pointers is not > portable C:/mydir/fpc/fpc_svn/compiler/ppcrossx64.exe -Twin64 -Px86_64 > -XPx86_64-win64- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64 -FE. > -FUC:/mydir/fpc/fpc_svn/rtl/units/x86_64-win64 -dx86_64 -dRELEASE > ../inc/macpas.pp C:/mydir/fpc/fpc_svn/compiler/ppcrossx64.exe -Twin64 - > Px86_64 > -XPx86_64-win64- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64 -FE. > -FUC:/mydir/fpc/fpc_svn/rtl/units/x86_64-win64 -dx86_64 -dRELEASE > ../inc/iso7185.pp C:/mydir/fpc/fpc_svn/compiler/ppcrossx64.exe -Twin64 - > Px86_64 > -XPx86_64-win64- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64 -FE. > -FUC:/mydir/fpc/fpc_svn/rtl/units/x86_64-win64 -dx86_64 -dRELEASE > ../inc/lineinfo.pp C:/mydir/fpc/fpc_svn/compiler/ppcrossx64.exe -Twin64 - > Px86_64 > -XPx86_64-win64- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../x86_64 -FE. > -FUC:/mydir/fpc/fpc_svn/rtl/units/x86_64-win64 -dx86_64 -dRELEASE > ../inc/lnfodwrf.pp > make[3]: Leaving directory `C:/mydir/fpc/fpc_svn/rtl/win64' > make[2]: Leaving directory `C:/mydir/fpc/fpc_svn/rtl' > make[1]: Leaving directory `C:/mydir/fpc/fpc_svn' > make packages_all FPC=C:/mydir/fpc/fpc_svn/compiler/ppcrossx64.exe > RELEASE=1 > make[1]: Entering directory `C:/mydir/fpc/fpc_svn' > make -C packages all > make[2]: Entering directory `C:/mydir/fpc/fpc_svn/packages' > make -C fpmkunit bootstrap > make[3]: Entering directory `C:/mydir/fpc/fpc_svn/packages/fpmkunit' > C:/mydir/fpc/fpc_svn/compiler/ppc.exe src/fpmkunit.pp -n -Twin64 > -Px86_64 -XPx86_64-win64- -Xr -Ur -Xs -O2 -n > -FuC:/mydir/fpc/fpc_svn/rtl/units/x86_64-win64 > -FuC:/mydir/fpc/fpc_svn/packages/paszlib -FuC:/mydir/fpc/fpc > _svn/packages/fcl-process -FuC:/mydir/fpc/fpc_svn/packages/hash -FE. > -FUunits/x86_64-win64 -dx86_64 -dRELEASE > -FuC:/mydir/fpc/fpc_svn/rtl/units/i386-win32 > -FuC:/mydir/fpc/fpc_svn/packages/paszlib -FuC:/mydir/fpc/fpc_ > svn/packages/fcl-process -FuC:/mydir/fpc/fpc_svn/packages/hash > -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 > Error: Illegal parameter: -Twin64 > make[3]: *** [bootstrap] Error 1 > make[3]: Leaving directory `C:/mydir/fpc/fpc_svn/packages/fpmkunit' > make[2]: *** [fpmkunit_bootstrap] Error 2 > make[2]: Leaving directory `C:/mydir/fpc/fpc_svn/packages' > make[1]: *** [packages_all] Error 2 > make[1]: Leaving directory `C:/mydir/fpc/fpc_svn' > make: *** [build-stamp.x86_64-win64] Error 2 =============== > > _______________________________________________ > fpc-devel maillist - > http://lists.freepascal.org/mailman/listinfo/fpc-devel _______________________________________________ fpc-devel maillist - http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply by email

Thomas Schatzl
to ABorka

Hi,

ABorka wrote 5 lines
The error comes during the make all OS_TARGET=win64 CPU_TARGET=x86_64 <=== error comes here [..]

Can you please update to latest or make sure you're on the latest revision? There has been a change that broke cross-compilation that has been reverted recently.

Thomas

Reply by email

ABorka
to Thomas Schatzl

SVN 22101 works

Thx

Thomas Schatzl wrote 20 lines
Hi, On Fri, 2012-08-17 at 00:37 -0700, ABorka wrote: > The error comes during the > > make all OS_TARGET=win64 CPU_TARGET=x86_64 <=== error comes here > > [..] Can you please update to latest or make sure you're on the latest revision? There has been a change that broke cross-compilation that has been reverted recently. Thomas _______________________________________________ fpc-devel maillist - http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply by email