[fpc-pascal] How to crosscompile i386-linux from X86_64-win64

ulrich romrum at cbox.cz
Tue Mar 29 09:58:44 CEST 2016


Hi,

what parameter(s) need to cross-compiling i386-Linux from X86_64-win64 ?

When I am trying to compile from "win32" with win32 compiler:

c:\Lazarus16\fpc\3.0.0\bin\x86_64-win64\make.exe CROSSCOMPILE=1 
CPU_TARGET=i386 OS_TARGET=linux all 
CROSSBINUTILS=c:\lazarus16\fpc\3.0.0\bin\i386-linux 
BINUTILSPREFIX=i386-linux- CPU_SOURCE=i386 OS_SOURCE=win32 
FPC=c:\lazarus16\fpc\3.0.0\bin\i386-win32\fpc.exe

the result is:

make[4]: Entering directory `C:/lazarus16/fpc/3.0.0/rtl'
c:/lazarus16/fpc/3.0.0/bin/x86_64-win64/make -C win32 all
make[5]: Entering directory `C:/lazarus16/fpc/3.0.0/rtl/win32'
c:/lazarus16/fpc/3.0.0/bin/i386-win32/fpc.exe -Ur -Xs -O2 -n -Fi../inc 
-Fi../i386 -Fi../win -FE. -FUC:/lazarus16/fpc/3.0.0/rtl/units/i386-win32 
-di386 -dRELEASE -Us -Sg system.pp -Fi../win
systemh.inc(138,16) Error: Duplicate identifier "FarPointer"
systemh.inc(138,29) Error: Identifier not found "NearFsPointer"
systemh.inc(138,29) Error: Error in type definition
systemh.inc(1059,75) Error: Type "FarPointer" is not completely defined
system.pp(107,34) Fatal: There were 4 errors compiling module, stopping
Fatal: Compilation aborted
Error: c:\lazarus16\fpc\3.0.0\bin\i386-win32\ppc386.exe returned an 
error exitcode
make[5]: *** [system.ppu] Error 1
make[5]: Leaving directory `C:/lazarus16/fpc/3.0.0/rtl/win32'
make[4]: *** [win32_all] Error 2
make[4]: Leaving directory `C:/lazarus16/fpc/3.0.0/rtl'
make[3]: *** [rtl] Error 2
make[3]: Leaving directory `C:/lazarus16/fpc/3.0.0/compiler'
make[2]: *** [cycle] Error 2
make[2]: Leaving directory `C:/lazarus16/fpc/3.0.0/compiler'
make[1]: *** [compiler_cycle] Error 2
make[1]: Leaving directory `C:/lazarus16/fpc/3.0.0'
make: *** [build-stamp.i386-linux] Error 2

When I am trying to compile from "win64" with win64 compiler (X86_64):

c:\lazarus16\fpc\3.0.0\bin\x86_64-win64\make.exe CROSSCOMPILE=1 
CPU_TARGET=i386 OS_TARGET=linux all 
CROSSBINUTILS=c:\lazarus16\fpc\3.0.0\bin\i386-linux 
BINUTILSPREFIX=i386-linux-

the result is:

C:/lazarus16/fpc/3.0.0/compiler/ppc.exe -Ur -Xs -O2 -n -Fui386 
-Fusystems -FuC:/lazarus16/fpc/3.0.0/rtl/units/x86_64-win64 -Fii386 -FE. 
-FUi386/units/x86_64-win64 -dRELEASE     -di386 -dGDB -dBROWSERLOG 
-Fux86 -Sew pp.pas
fpcdefs.inc(259,2) Error: User defined: Cross-compiling from systems 
without support for an 80 bit extended floating point type to i386 is 
not yet supported at this time
fpcdefs.inc(259,2) Error: User defined: Cross-compiling from systems 
without support for an 80 bit extended floating point type to i386 is 
not yet supported at this time
fpcdefs.inc(259,2) Error: User defined: Cross-compiling from systems 
without support for an 80 bit extended floating point type to i386 is 
not yet supported at this time
fpcdefs.inc(259,2) Error: User defined: Cross-compiling from systems 
without support for an 80 bit extended floating point type to i386 is 
not yet supported at this time
constexp.pas(87,1) Fatal: There were 4 errors compiling module, stopping
Fatal: Compilation aborted
make[3]: *** [ppcross386.exe] Error 1
make[3]: Leaving directory `C:/lazarus16/fpc/3.0.0/compiler'
make[2]: *** [cycle] Error 2
make[2]: Leaving directory `C:/lazarus16/fpc/3.0.0/compiler'
make[1]: *** [compiler_cycle] Error 2
make[1]: Leaving directory `C:/lazarus16/fpc/3.0.0'
make: *** [build-stamp.i386-linux] Error 2


Thanks

Ulrich





More information about the fpc-pascal mailing list