[MacPorts] #71481: portaudio @20240308-88ab584e +universal Undefined symbols for architecture x86_64
MacPorts
noreply at macports.org
Mon Dec 16 13:57:27 UTC 2024
#71481: portaudio @20240308-88ab584e +universal Undefined symbols for architecture
x86_64
------------------------+----------------------
Reporter: adamscott | Owner: ra1nb0w
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.10.5
Resolution: | Keywords: sequoia
Port: portaudio |
------------------------+----------------------
Comment (by adamscott):
you'd have to examine those objects in the build folder to see if they
really are fat objects -- and if they are, try running that step manually
with the added arch flags perhaps.
Only `.libs/libportaudiocpp.0.dylib-master.o` seems to be arm64 only.
{{{
❯ file .libs/libportaudiocpp.0.dylib-master.o .libs/BlockingStream.o
.libs/CallbackInterface.o .libs/CallbackStream.o
.libs/CFunCallbackStream.o .libs/CppFunCallbackStream.o .libs/Device.o
.libs/DirectionSpecificStreamParameters.o .libs/Exception.o
.libs/HostApi.o .libs/InterfaceCallbackStream.o
.libs/MemFunCallbackStream.o .libs/Stream.o .libs/StreamParameters.o
.libs/System.o .libs/SystemDeviceIterator.o .libs/SystemHostApiIterator.o
.libs/libportaudiocpp.0.dylib-master.o: Mach-O 64-bit object arm64
.libs/BlockingStream.o: Mach-O universal binary with 2
architectures: [x86_64:Mach-O 64-bit object x86_64] [arm64:Mach-O 64-bit
object arm64]
.libs/BlockingStream.o (for architecture x86_64): Mach-O 64-bit
object x86_64
.libs/BlockingStream.o (for architecture arm64): Mach-O 64-bit
object arm64
.libs/CallbackInterface.o: Mach-O universal binary with 2
architectures: [x86_64:Mach-O 64-bit object x86_64] [arm64:Mach-O 64-bit
object arm64]
.libs/CallbackInterface.o (for architecture x86_64): Mach-O 64-bit
object x86_64
.libs/CallbackInterface.o (for architecture arm64): Mach-O 64-bit
object arm64
.libs/CallbackStream.o: Mach-O universal binary with 2
architectures: [x86_64:Mach-O 64-bit object x86_64] [arm64:Mach-O 64-bit
object arm64]
.libs/CallbackStream.o (for architecture x86_64): Mach-O 64-bit
object x86_64
.libs/CallbackStream.o (for architecture arm64): Mach-O 64-bit
object arm64
.libs/CFunCallbackStream.o: Mach-O universal binary with 2
architectures: [x86_64:Mach-O 64-bit object x86_64] [arm64:Mach-O 64-bit
object arm64]
.libs/CFunCallbackStream.o (for architecture x86_64): Mach-O 64-bit
object x86_64
.libs/CFunCallbackStream.o (for architecture arm64): Mach-O 64-bit
object arm64
.libs/CppFunCallbackStream.o: Mach-O universal binary with 2
architectures: [x86_64:Mach-O 64-bit object x86_64] [arm64:Mach-O 64-bit
object arm64]
.libs/CppFunCallbackStream.o (for architecture x86_64): Mach-O 64-bit
object x86_64
.libs/CppFunCallbackStream.o (for architecture arm64): Mach-O 64-bit
object arm64
.libs/Device.o: Mach-O universal binary with 2
architectures: [x86_64:Mach-O 64-bit object x86_64] [arm64:Mach-O 64-bit
object arm64]
.libs/Device.o (for architecture x86_64): Mach-O 64-bit object
x86_64
.libs/Device.o (for architecture arm64): Mach-O 64-bit object arm64
.libs/DirectionSpecificStreamParameters.o: Mach-O universal binary with 2
architectures: [x86_64:Mach-O 64-bit object x86_64] [arm64:Mach-O 64-bit
object arm64]
.libs/DirectionSpecificStreamParameters.o (for architecture x86_64):
Mach-O 64-bit object x86_64
.libs/DirectionSpecificStreamParameters.o (for architecture arm64):
Mach-O 64-bit object arm64
.libs/Exception.o: Mach-O universal binary with 2
architectures: [x86_64:Mach-O 64-bit object x86_64] [arm64:Mach-O 64-bit
object arm64]
.libs/Exception.o (for architecture x86_64): Mach-O 64-bit object
x86_64
.libs/Exception.o (for architecture arm64): Mach-O 64-bit object arm64
.libs/HostApi.o: Mach-O universal binary with 2
architectures: [x86_64:Mach-O 64-bit object x86_64] [arm64:Mach-O 64-bit
object arm64]
.libs/HostApi.o (for architecture x86_64): Mach-O 64-bit object
x86_64
.libs/HostApi.o (for architecture arm64): Mach-O 64-bit object arm64
.libs/InterfaceCallbackStream.o: Mach-O universal binary with 2
architectures: [x86_64:Mach-O 64-bit object x86_64] [arm64:Mach-O 64-bit
object arm64]
.libs/InterfaceCallbackStream.o (for architecture x86_64): Mach-O
64-bit object x86_64
.libs/InterfaceCallbackStream.o (for architecture arm64): Mach-O
64-bit object arm64
.libs/MemFunCallbackStream.o: Mach-O universal binary with 2
architectures: [x86_64:Mach-O 64-bit object x86_64] [arm64:Mach-O 64-bit
object arm64]
.libs/MemFunCallbackStream.o (for architecture x86_64): Mach-O 64-bit
object x86_64
.libs/MemFunCallbackStream.o (for architecture arm64): Mach-O 64-bit
object arm64
.libs/Stream.o: Mach-O universal binary with 2
architectures: [x86_64:Mach-O 64-bit object x86_64] [arm64:Mach-O 64-bit
object arm64]
.libs/Stream.o (for architecture x86_64): Mach-O 64-bit object
x86_64
.libs/Stream.o (for architecture arm64): Mach-O 64-bit object arm64
.libs/StreamParameters.o: Mach-O universal binary with 2
architectures: [x86_64:Mach-O 64-bit object x86_64] [arm64:Mach-O 64-bit
object arm64]
.libs/StreamParameters.o (for architecture x86_64): Mach-O 64-bit
object x86_64
.libs/StreamParameters.o (for architecture arm64): Mach-O 64-bit
object arm64
.libs/System.o: Mach-O universal binary with 2
architectures: [x86_64:Mach-O 64-bit object x86_64] [arm64:Mach-O 64-bit
object arm64]
.libs/System.o (for architecture x86_64): Mach-O 64-bit object
x86_64
.libs/System.o (for architecture arm64): Mach-O 64-bit object arm64
.libs/SystemDeviceIterator.o: Mach-O universal binary with 2
architectures: [x86_64:Mach-O 64-bit object x86_64] [arm64:Mach-O 64-bit
object arm64]
.libs/SystemDeviceIterator.o (for architecture x86_64): Mach-O 64-bit
object x86_64
.libs/SystemDeviceIterator.o (for architecture arm64): Mach-O 64-bit
object arm64
.libs/SystemHostApiIterator.o: Mach-O universal binary with 2
architectures: [x86_64:Mach-O 64-bit object x86_64] [arm64:Mach-O 64-bit
object arm64]
.libs/SystemHostApiIterator.o (for architecture x86_64): Mach-O
64-bit object x86_64
.libs/SystemHostApiIterator.o (for architecture arm64): Mach-O 64-bit
object arm64
}}}
It seems that `.libs/libportaudiocpp.0.dylib-master.o` is related to
`libportaudiocpp.la` in this build line:
{{{
:info:build /bin/sh ../libtool --tag=CXX --mode=link /usr/bin/clang++
-pipe -Os -stdlib=libc++
-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.sdk
-arch arm64 -arch x86_64 -version-info 0:12:0 -no-undefined
-L/opt/local/lib -Wl,-headerpad_max_install_names
-Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.sdk
-arch arm64 -arch x86_64 -o libportaudiocpp.la -rpath /opt/local/lib
BlockingStream.lo CallbackInterface.lo CallbackStream.lo
CFunCallbackStream.lo CppFunCallbackStream.lo Device.lo
DirectionSpecificStreamParameters.lo Exception.lo HostApi.lo
InterfaceCallbackStream.lo MemFunCallbackStream.lo Stream.lo
StreamParameters.lo System.lo SystemDeviceIterator.lo
SystemHostApiIterator.lo ../../../lib/libportaudio.la
}}}
Here's the content of `libportaudiocpp.la`:
{{{
# libportaudiocpp.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.7ubuntu1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libportaudiocpp.0.dylib'
# Names of this library.
library_names='libportaudiocpp.0.dylib libportaudiocpp.dylib'
# The name of the static archive.
old_library='libportaudiocpp.a'
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=' -framework CoreAudio -framework AudioToolbox
-framework AudioUnit -framework CoreFoundation -framework CoreServices'
# Libraries that this one depends upon.
dependency_libs=' -L/opt/local/lib
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_portaudio/portaudio/work
/portaudio-88ab584e7bf4358599744cd662cfbc978f41efbf/lib/libportaudio.la'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libportaudiocpp.
current=0
age=0
revision=12
# Is this an already installed library?
installed=no
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/opt/local/lib'
relink_command=""
}}}
--
Ticket URL: <https://trac.macports.org/ticket/71481#comment:9>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list