Opened 2 years ago
Last modified 23 months ago
#66236 new defect
fpc-cross @3.2.2_0 - 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
Reported by: | FaradayLight (Faraday Light) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.0 |
Keywords: | arm64 | Cc: | kamischi (Karl-Michael Schindler) |
Port: | fpc-cross |
Description
Error reported while re-installing packages after update of macOS and MactPorts:
ProductName: macOS ProductVersion: 13.0 BuildVersion: 22A380 Xcode 14.1 Build version 14B47b Platform SDK: 13.0
There are multiple warnings in the log of the form:
:info:build ld: warning: object file (arm/units/aarch64-darwin/verbose.o) was built for newer macOS version (11.0) than being linked (10.9)
Error message:
error:build Failed to build fpc-cross: command execution failed :debug:build Error code: CHILDSTATUS 23550 2 :debug:build Backtrace: command execution failed :debug:build while executing :debug:build "system {*}$notty {*}$callback {*}$nice $fullcmdstring" :debug:build invoked from within :debug:build "command_exec -callback portprogress::target_progress_callback build" :debug:build (procedure "portbuild::build_main" line 8) :debug:build invoked from within :debug:build "$procedure $targetname"
Attachments (1)
Change History (5)
Changed 2 years ago by FaradayLight (Faraday Light)
comment:1 Changed 2 years ago by kencu (Ken)
this looks to be the actual error:
fpcdefs.inc(288,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
Looks like you can't cross compile from an arm64 system to i386?
comment:2 Changed 2 years ago by kamischi (Karl-Michael Schindler)
The linker warnings are annoying, but harmless. Maybe, I find the time to switch them off. The 80 bit extended floating point type problem for i386 targets is actually a known issue and there might be no other solution than to switch off building the cross-compiler for i386, by taking it out of the list of platforms.
This might be a preliminary quick fix: delete i386 in the list of build.target in the subport "${name}-cross" in the Portfile of fpc. At least the cross compilers for other cpus will be built.
This might actually all I can do from my side. The emulation of the 80 bit extended floating point type on non-i386 platforms is probably never to happen.
comment:3 Changed 23 months ago by kencu (Ken)
Keywords: | arm64 added; Ventura removed |
---|---|
Summary: | fpc-cross @3.2.2_0 - Failed to build fpc-cross - Object file was built for newer macOS version (11.0) than being linked (10.9) → fpc-cross @3.2.2_0 - 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 |
comment:4 Changed 23 months ago by kencu (Ken)
I tried just turning off the i386 target when on arm64 like this:
build.target aarch64 arm avr i386 i8086 jvm m68k mips mipsel powerpc powerpc64 sparc x86_64 switch ${build_arch} { x86_64 { build.target-delete x86_64 } arm64 { build.target-delete aarch64 + build.target-delete i386 } }
but that didn't work due to :
---> Fetching distfiles for fpc-cross ---> Verifying checksums for fpc-cross ---> Checksumming fpcbuild-3.2.2.tar.gz ---> Checksumming x86_64-macosx-10.9-ppcx64.tar.bz2 ---> Extracting fpc-cross ---> Extracting fpcbuild-3.2.2.tar.gz Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_fpc/fpc-cross/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/fpc/fpcbuild-3.2.2.tar.gz' | /usr/bin/tar -xf - ---> Configuring fpc-cross ---> Building fpc-cross Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_fpc/fpc-cross/work/fpcbuild-3.2.2/fpcsrc/compiler" && /usr/bin/make -j1 -w arm avr i8086 jvm m68k mips mipsel powerpc powerpc64 sparc x86_64 OPT="-ap -v0" make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_fpc/fpc-cross/work/fpcbuild-3.2.2/fpcsrc/compiler' /Applications/Xcode.app/Contents/Developer/usr/bin/make PPC_TARGET=arm CPU_UNITDIR=arm all make[1]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_fpc/fpc-cross/work/fpcbuild-3.2.2/fpcsrc/compiler' /bin/mkdir -p arm/units/aarch64-darwin /opt/local/bin/ppca64 -Fuarm -Fusystems -Fu../rtl -Fiarm -FE. -FUarm/units/aarch64-darwin -ap -v0 -darm -dGDB -dBROWSERLOG -Sew pp.pas Free Pascal Compiler version 3.2.2 [2023/01/08] for aarch64 Copyright (c) 1993-2021 by Florian Klaempfl and others ld: library not found for -lc An error occurred while linking pp.pas(252,36) Error: Error while linking pp.pas(252,36) Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted
main.log