Cross-compiling FPC for i386-linux target fails with -O4 in the moment
Original Reporter info from Mantis: benjamin@0ok.de @bero1985
-
Reporter name: Benjamin Rosseaux
Original Reporter info from Mantis: benjamin@0ok.de @bero1985
- Reporter name: Benjamin Rosseaux
Description:
Cross-compiling FPC for i386-linux target under Windows fails with -O4 (also with -O3, but with -O2 it works) in the moment with
make distclean
make crossinstall OS_TARGET=linux CPU_TARGET=i386 CROSSBINDIR="f:\FPC\binutils\i386-linux" OPT="-Aas -dtls_threadvars -O4 -dSPILLING_NEW" CROSSOPT="-XPi386-linux- -XX -Cr- -CR- -Ct- -Co- -CO- -C3- -Aas -dtls_threadvars -O4 -dSPILLING_NEW -CpPENTIUM4 -OpPENTIUM4 -CfSSE2" INSTALL_PREFIX="f:\fpc"
as commands
with the following output:
Start compiling package fcl-report for target i386-linux.
Compiling fcl-report\BuildUnit_fcl_report.pp
Compiling .\fcl-report\src\fpreportstreamer.pp
Compiling .\fcl-report\src\fpreporthtmlparser.pp
Compiling .\fcl-report\src\fpreport.pp
External command "f:/FPC/SVNunstable/compiler/ppcross386.exe -Tlinux -FUfcl-report\units\i386-linux\ -Fuf:\FPC\SVNunstable\rtl\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\fcl-base\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\fcl-res\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\rtl-objpas\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\fcl-image\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\pasjpeg\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\paszlib\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\hash\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\fcl-xml\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\iconvenc\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\fcl-pdf\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\fcl-json\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\fcl-db\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\rtl-extra\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\ibase\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\mysql\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\odbc\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\oracle\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\postgres\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\sqlite\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\dblib\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\pxlib\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\fcl-web\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\fcl-net\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\fcl-passrc\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\fcl-async\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\fcl-process\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\fcl-fpcunit\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\libtar\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\openssl\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\fastcgi\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\httpd22\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\httpd24\units\i386-linux\ -Fuf:\FPC\SVNunstable\packages\libmicrohttpd\units\i386-linux\ -Fufcl-report\src -Tlinux -Ur -Xs -O2 -n -FDf:\FPC\binutils\i386-linux -Aas -dtls_threadvars -O4 -dSPILLING_NEW -CVglobal-dynamic -di386 -dRELEASE -XPi386-linux- -XX -Cr- -CR- -Ct- -Co- -CO- -C3- -Aas -dtls_threadvars -O4 -dSPILLING_NEW -CpPENTIUM4 -OpPENTIUM4 -CfSSE2 -XX -CX -Sc -viq fcl-report\BuildUnit_fcl_report.pp" failed with exit code 1. Console output:
Target OS: Linux for i386
Compiling fcl-report\BuildUnit_fcl_report.pp
Compiling .\fcl-report\src\fpreportstreamer.pp
Writing Resource String Table file: fpreportstreamer.rsj
Assembling fpreportstreamer
Compiling .\fcl-report\src\fpreporthtmlparser.pp
Assembling fpreporthtmlparser
Compiling .\fcl-report\src\fpreport.pp
fpreport.pp(2501,9) Error: Range check error while evaluating constants (0 must be between 1 and 2)
fpreport.pp(12487) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
The installer encountered the following error:
Compilation of "BuildUnit_fcl_report.pp" failed
make[3]: *** [smart] Error 1
make[3]: Leaving directory f:/FPC/SVNunstable/packages'<br/> make[2]: *** [packages_smart] Error 2<br/> make[2]: Leaving directory
f:/FPC/SVNunstable'
make[1]: *** [build-stamp.i386-linux] Error 2
make[1]: Leaving directory `f:/FPC/SVNunstable'
make: *** [crossinstall] Error 2