Opened 18 months ago

Last modified 16 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)

main.log (108.9 KB) - added by FaradayLight (Faraday Light) 18 months ago.
main.log

Download all attachments as: .zip

Change History (5)

Changed 18 months ago by FaradayLight (Faraday Light)

Attachment: main.log added

main.log

comment:1 Changed 18 months 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 18 months 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.

Version 1, edited 18 months ago by kamischi (Karl-Michael Schindler) (previous) (next) (diff)

comment:3 Changed 16 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 16 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
Note: See TracTickets for help on using tickets.