[MacPorts] #72367: openh264 @2.6.0 +universal won't compile in apple silicon (was: openh264 @ 2.6.0 +universal won't compile in apple silicon)
MacPorts
noreply at macports.org
Sat Apr 19 03:42:02 UTC 2025
#72367: openh264 @2.6.0 +universal won't compile in apple silicon
-----------------------+-----------------------
Reporter: AlexVaq | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.10.5
Resolution: | Keywords: universal
Port: openh264 |
-----------------------+-----------------------
Old description:
> Compilation fails since the compiler tries to compile specific assembler
> files for ARM64 as universal (with both -arch arm64 -arch x86_64 flags).
> Removing the -arch x86_64 flag allows meson to move forward with the
> compilation, but the linker fails complaining about missing symbols,
> since the x86_64 assembler files are never added to the build.
>
> A small piece of the log file, when the error happens (it's kilometric,
> since it complains for EVERY assembler mnemonic), including the command
> executed for compilation (notice both arch flags):
>
> info:build [12/175] /usr/bin/clang -Icodec/common/libcommon.a.p
> -Icodec/common -I../openh264-2.6.0/codec/common -Icodec/api/wels
> -I../openh264-2.6.0/codec/api/wels -I../openh264-2.6.0/codec/common/inc
> -I../openh264-2.6.0/codec/common/arm64 -I/opt/local/include
> -fdiagnostics-color=always -Wall -Winvalid-pch -O2 -g -DHAVE_NEON_AARCH64
> -pipe -Os
> -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.sdk
> -arch arm64 -arch x86_64
> -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.sdk
> -MD -MQ codec/common/libcommon.a.p/arm64_copy_mb_aarch64_neon.S.o -MF
> codec/common/libcommon.a.p/arm64_copy_mb_aarch64_neon.S.o.d -o
> codec/common/libcommon.a.p/arm64_copy_mb_aarch64_neon.S.o -c
> ../openh264-2.6.0/codec/common/arm64/copy_mb_aarch64_neon.S
>
> :info:build FAILED:
> codec/common/libcommon.a.p/arm64_copy_mb_aarch64_neon.S.o
>
> :info:build /usr/bin/clang -Icodec/common/libcommon.a.p -Icodec/common
> -I../openh264-2.6.0/codec/common -Icodec/api/wels
> -I../openh264-2.6.0/codec/api/wels -I../openh264-2.6.0/codec/common/inc
> -I../openh264-2.6.0/codec/common/arm64 -I/opt/local/include
> -fdiagnostics-color=always -Wall -Winvalid-pch -O2 -g -DHAVE_NEON_AARCH64
> -pipe -Os
> -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.sdk
> -arch arm64 -arch x86_64
> -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.sdk
> -MD -MQ codec/common/libcommon.a.p/arm64_copy_mb_aarch64_neon.S.o -MF
> codec/common/libcommon.a.p/arm64_copy_mb_aarch64_neon.S.o.d -o
> codec/common/libcommon.a.p/arm64_copy_mb_aarch64_neon.S.o -c
> ../openh264-2.6.0/codec/common/arm64/copy_mb_aarch64_neon.S
>
> :info:build <instantiation>:1:1: error: invalid instruction mnemonic
> 'sxtw'
>
> :info:build sxtw x1, w1
>
> :info:build ^~~~
>
> :info:build
> ../openh264-2.6.0/codec/common/arm64/copy_mb_aarch64_neon.S:110:5: note:
> while in macro instantiation
>
> :info:build SIGN_EXTENSION x1,w1
>
> :info:build ^
>
> :info:build <instantiation>:1:1: error: invalid instruction mnemonic
> 'sxtw'
>
> :info:build sxtw x3, w3
>
> :info:build ^~~~
>
> :info:build
> ../openh264-2.6.0/codec/common/arm64/copy_mb_aarch64_neon.S:111:5: note:
> while in macro instantiation
>
> :info:build SIGN_EXTENSION x3,w3
>
> :info:build ^
>
> :info:build <instantiation>:2:10: error: unknown token in expression
>
> :info:build ld1 {v0.8b}, [x2], x3
>
> :info:build ^
> ...
New description:
Compilation fails since the compiler tries to compile specific assembler
files for ARM64 as universal (with both -arch arm64 -arch x86_64 flags).
Removing the -arch x86_64 flag allows meson to move forward with the
compilation, but the linker fails complaining about missing symbols, since
the x86_64 assembler files are never added to the build.
A small piece of the log file, when the error happens (it's kilometric,
since it complains for EVERY assembler mnemonic), including the command
executed for compilation (notice both arch flags):
{{{
info:build [12/175] /usr/bin/clang -Icodec/common/libcommon.a.p
-Icodec/common -I../openh264-2.6.0/codec/common -Icodec/api/wels
-I../openh264-2.6.0/codec/api/wels -I../openh264-2.6.0/codec/common/inc
-I../openh264-2.6.0/codec/common/arm64 -I/opt/local/include -fdiagnostics-
color=always -Wall -Winvalid-pch -O2 -g -DHAVE_NEON_AARCH64 -pipe -Os
-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.sdk
-arch arm64 -arch x86_64
-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.sdk
-MD -MQ codec/common/libcommon.a.p/arm64_copy_mb_aarch64_neon.S.o -MF
codec/common/libcommon.a.p/arm64_copy_mb_aarch64_neon.S.o.d -o
codec/common/libcommon.a.p/arm64_copy_mb_aarch64_neon.S.o -c
../openh264-2.6.0/codec/common/arm64/copy_mb_aarch64_neon.S
:info:build FAILED:
codec/common/libcommon.a.p/arm64_copy_mb_aarch64_neon.S.o
:info:build /usr/bin/clang -Icodec/common/libcommon.a.p -Icodec/common
-I../openh264-2.6.0/codec/common -Icodec/api/wels
-I../openh264-2.6.0/codec/api/wels -I../openh264-2.6.0/codec/common/inc
-I../openh264-2.6.0/codec/common/arm64 -I/opt/local/include -fdiagnostics-
color=always -Wall -Winvalid-pch -O2 -g -DHAVE_NEON_AARCH64 -pipe -Os
-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.sdk
-arch arm64 -arch x86_64
-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.sdk
-MD -MQ codec/common/libcommon.a.p/arm64_copy_mb_aarch64_neon.S.o -MF
codec/common/libcommon.a.p/arm64_copy_mb_aarch64_neon.S.o.d -o
codec/common/libcommon.a.p/arm64_copy_mb_aarch64_neon.S.o -c
../openh264-2.6.0/codec/common/arm64/copy_mb_aarch64_neon.S
:info:build <instantiation>:1:1: error: invalid instruction mnemonic
'sxtw'
:info:build sxtw x1, w1
:info:build ^~~~
:info:build
../openh264-2.6.0/codec/common/arm64/copy_mb_aarch64_neon.S:110:5: note:
while in macro instantiation
:info:build SIGN_EXTENSION x1,w1
:info:build ^
:info:build <instantiation>:1:1: error: invalid instruction mnemonic
'sxtw'
:info:build sxtw x3, w3
:info:build ^~~~
:info:build
../openh264-2.6.0/codec/common/arm64/copy_mb_aarch64_neon.S:111:5: note:
while in macro instantiation
:info:build SIGN_EXTENSION x3,w3
:info:build ^
:info:build <instantiation>:2:10: error: unknown token in expression
:info:build ld1 {v0.8b}, [x2], x3
:info:build ^
...
}}}
--
Comment (by ryandesign):
Please attach the entire (compressed) main.log file.
--
Ticket URL: <https://trac.macports.org/ticket/72367#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list