PortAudio / portaudio

PortAudio is a cross-platform, open-source C language library for real-time audio input and output.
Other
1.45k stars 303 forks source link

Mac CI Failing with JACK linker error #907

Closed RossBencina closed 5 months ago

RossBencina commented 5 months ago

CI is failing for MacOS builds on master starting from https://github.com/PortAudio/portaudio/commit/f51610dc7dea0ec0265be1b726e3c4b10458077f relevant build log entries are:

ld: warning: ignoring file '../vcpkg_installed/x64-osx/lib/libjack.a[2](JackWeakAPI.c.o)': found architecture 'x86_64', required architecture 'arm64'
1 warning generated.
[ 18%] Linking C executable patest_callbackstop
[ 19%] Linking C executable patest_buffer
ld: Undefined symbols:
  _jack_activate, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
  _jack_client_close, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _Terminate in libportaudio.a[13](pa_jack.c.o)
...

and many more undefined JACK symbols. full log below.

No changes to our CI config and CMakelists.txt have been made in the relevant period.

We think the problem is related to GitHub CI runners switching to arm64 as the default (announcement here: https://github.com/actions/runner-images/issues/9254)

Possibly the vcpkg for JACK is borked and missing proper macOS arm64 support.

Full CI log:

Run cmake --build /Users/runner/work/portaudio/portaudio/build --config RelWithDebInfo --parallel 4
[  0%] Building C object CMakeFiles/PortAudio.dir/src/common/pa_allocation.c.o
[  1%] Building C object CMakeFiles/PortAudio.dir/src/common/pa_cpuload.c.o
[  2%] Building C object CMakeFiles/PortAudio.dir/src/common/pa_converters.c.o
[  2%] Building C object CMakeFiles/PortAudio.dir/src/common/pa_debugprint.c.o
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
1 warning generated.
[  3%] Building C object CMakeFiles/PortAudio.dir/src/common/pa_dither.c.o
1 warning generated.
[  4%] Building C object CMakeFiles/PortAudio.dir/src/common/pa_front.c.o
1 warning generated.
[  5%] Building C object CMakeFiles/PortAudio.dir/src/common/pa_process.c.o
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
1 warning generated.
[  5%] Building C object CMakeFiles/PortAudio.dir/src/common/pa_ringbuffer.c.o
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
1 warning generated.
[  6%] Building C object CMakeFiles/PortAudio.dir/src/common/pa_stream.c.o
1 warning generated.
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
[  7%] Building C object CMakeFiles/PortAudio.dir/src/common/pa_trace.c.o
1 warning generated.
[  8%] Building C object CMakeFiles/PortAudio.dir/src/hostapi/skeleton/pa_hostapi_skeleton.c.o
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
1 warning generated.
[  8%] Building C object CMakeFiles/PortAudio.dir/src/hostapi/jack/pa_jack.c.o
1 warning generated.
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
[  9%] Building C object CMakeFiles/PortAudio.dir/src/os/unix/pa_pthread_util.c.o
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
/Users/runner/work/portaudio/portaudio/src/hostapi/jack/pa_jack.c:342:5: warning: 'sem_init' is deprecated [-Wdeprecated-declarations]
    sem_init( &stream->data_semaphore, 0, 0 );
[ 10%] Building C object CMakeFiles/PortAudio.dir/src/os/unix/pa_unix_hostapis.c.o
    ^
1 warning generated.
/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/sys/semaphore.h:55:42: note: 'sem_init' has been explicitly marked deprecated here
int sem_init(sem_t *, int, unsigned int) __deprecated;
[ 11%] Building C object CMakeFiles/PortAudio.dir/src/os/unix/pa_unix_util.c.o
                                         ^
/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/sys/cdefs.h:211:40: note: expanded from macro '__deprecated'
[ 11%] Building C object CMakeFiles/PortAudio.dir/src/hostapi/coreaudio/pa_mac_core.c.o
#define __deprecated    __attribute__((__deprecated__))
                                       ^
/Users/runner/work/portaudio/portaudio/src/hostapi/jack/pa_jack.c:354:5: warning: 'sem_destroy' is deprecated [-Wdeprecated-declarations]
    sem_destroy( &stream->data_semaphore );
    ^
/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/sys/semaphore.h:53:26: note: 'sem_destroy' has been explicitly marked deprecated here
int sem_destroy(sem_t *) __deprecated;
                         ^
/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/sys/cdefs.h:211:40: note: expanded from macro '__deprecated'
#define __deprecated    __attribute__((__deprecated__))
[ 12%] Building C object CMakeFiles/PortAudio.dir/src/hostapi/coreaudio/pa_mac_core_blocking.c.o
                                       ^
/Users/runner/work/portaudio/portaudio/src/hostapi/jack/pa_jack.c:639:17: warning: 'jack_port_get_latency' is deprecated [-Wdeprecated-declarations]
                jack_port_get_latency( p ) / globalSampleRate;
                ^
/Users/runner/work/portaudio/portaudio/build/vcpkg_installed/x64-osx/lib/pkgconfig/../../include/jack/jack.h:1231:58: note: 'jack_port_get_latency' has been explicitly marked deprecated here
jack_nframes_t jack_port_get_latency (jack_port_t *port) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
                                                         ^
/Users/runner/work/portaudio/portaudio/build/vcpkg_installed/x64-osx/lib/pkgconfig/../../include/jack/weakmacros.h:80:61: note: expanded from macro 'JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT'
#define JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT __attribute__((__deprecated__))
                                                            ^
/Users/runner/work/portaudio/portaudio/src/hostapi/jack/pa_jack.c:660:17: warning: 'jack_port_get_latency' is deprecated [-Wdeprecated-declarations]
                jack_port_get_latency( p ) / globalSampleRate;
                ^
/Users/runner/work/portaudio/portaudio/build/vcpkg_installed/x64-osx/lib/pkgconfig/../../include/jack/jack.h:1231:58: note: 'jack_port_get_latency' has been explicitly marked deprecated here
jack_nframes_t jack_port_get_latency (jack_port_t *port) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
                                                         ^
/Users/runner/work/portaudio/portaudio/build/vcpkg_installed/x64-osx/lib/pkgconfig/../../include/jack/weakmacros.h:80:61: note: expanded from macro 'JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT'
#define JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT __attribute__((__deprecated__))
[ 13%] Building C object CMakeFiles/PortAudio.dir/src/hostapi/coreaudio/pa_mac_core_utilities.c.o
                                                            ^
/Users/runner/work/portaudio/portaudio/src/hostapi/jack/pa_jack.c:1367:65: warning: 'jack_port_get_latency' is deprecated [-Wdeprecated-declarations]
        stream->streamRepresentation.streamInfo.inputLatency = (jack_port_get_latency( stream->remote_output_ports[0] )
                                                                ^
/Users/runner/work/portaudio/portaudio/build/vcpkg_installed/x64-osx/lib/pkgconfig/../../include/jack/jack.h:1231:58: note: 'jack_port_get_latency' has been explicitly marked deprecated here
jack_nframes_t jack_port_get_latency (jack_port_t *port) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
                                                         ^
/Users/runner/work/portaudio/portaudio/build/vcpkg_installed/x64-osx/lib/pkgconfig/../../include/jack/weakmacros.h:80:61: note: expanded from macro 'JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT'
#define JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT __attribute__((__deprecated__))
                                                            ^
/Users/runner/work/portaudio/portaudio/src/hostapi/jack/pa_jack.c:1371:66: warning: 'jack_port_get_latency' is deprecated [-Wdeprecated-declarations]
        stream->streamRepresentation.streamInfo.outputLatency = (jack_port_get_latency( stream->remote_input_ports[0] )
                                                                 ^
/Users/runner/work/portaudio/portaudio/build/vcpkg_installed/x64-osx/lib/pkgconfig/../../include/jack/jack.h:1231:58: note: 'jack_port_get_latency' has been explicitly marked deprecated here
jack_nframes_t jack_port_get_latency (jack_port_t *port) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
                                                         ^
/Users/runner/work/portaudio/portaudio/build/vcpkg_installed/x64-osx/lib/pkgconfig/../../include/jack/weakmacros.h:80:61: note: expanded from macro 'JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT'
#define JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT __attribute__((__deprecated__))
                                                            ^
/Users/runner/work/portaudio/portaudio/src/hostapi/jack/pa_jack.c:1455:62: warning: 'jack_port_get_latency' is deprecated [-Wdeprecated-declarations]
        timeInfo.inputBufferAdcTime = timeInfo.currentTime - jack_port_get_latency( stream->remote_output_ports[0] )
                                                             ^
/Users/runner/work/portaudio/portaudio/build/vcpkg_installed/x64-osx/lib/pkgconfig/../../include/jack/jack.h:1231:58: note: 'jack_port_get_latency' has been explicitly marked deprecated here
jack_nframes_t jack_port_get_latency (jack_port_t *port) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
                                                         ^
/Users/runner/work/portaudio/portaudio/build/vcpkg_installed/x64-osx/lib/pkgconfig/../../include/jack/weakmacros.h:80:61: note: expanded from macro 'JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT'
#define JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT __attribute__((__deprecated__))
                                                            ^
/Users/runner/work/portaudio/portaudio/src/hostapi/jack/pa_jack.c:1458:63: warning: 'jack_port_get_latency' is deprecated [-Wdeprecated-declarations]
        timeInfo.outputBufferDacTime = timeInfo.currentTime + jack_port_get_latency( stream->remote_input_ports[0] )
                                                              ^
/Users/runner/work/portaudio/portaudio/build/vcpkg_installed/x64-osx/lib/pkgconfig/../../include/jack/jack.h:1231:58: note: 'jack_port_get_latency' has been explicitly marked deprecated here
jack_nframes_t jack_port_get_latency (jack_port_t *port) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
                                                         ^
/Users/runner/work/portaudio/portaudio/build/vcpkg_installed/x64-osx/lib/pkgconfig/../../include/jack/weakmacros.h:80:61: note: expanded from macro 'JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT'
#define JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT __attribute__((__deprecated__))
                                                            ^
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
1 warning generated.
1 warning generated.
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
1 warning generated.
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
1 warning generated.
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
9 warnings generated.
/Users/runner/work/portaudio/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.c:71:91: warning: 'kAudioObjectPropertyElementMaster' is deprecated: first deprecated in macOS 12.0 [-Wdeprecated-declarations]
    AudioObjectPropertyAddress address = { inPropertyID, kAudioObjectPropertyScopeGlobal, kAudioObjectPropertyElementMaster };
                                                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                                          kAudioObjectPropertyElementMain
/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardwareBase.h:208:5: note: 'kAudioObjectPropertyElementMaster' has been explicitly marked deprecated here
    kAudioObjectPropertyElementMaster API_DEPRECATED_WITH_REPLACEMENT("kAudioObjectPropertyElementMain", macos(10.0, 12.0), ios(2.0, 15.0), watchos(1.0, 8.0), tvos(9.0, 15.0)) = kAudioObjectPropertyElementMain
    ^
/Users/runner/work/portaudio/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.c:79:91: warning: 'kAudioObjectPropertyElementMaster' is deprecated: first deprecated in macOS 12.0 [-Wdeprecated-declarations]
    AudioObjectPropertyAddress address = { inPropertyID, kAudioObjectPropertyScopeGlobal, kAudioObjectPropertyElementMaster };
                                                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                                          kAudioObjectPropertyElementMain
/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardwareBase.h:208:5: note: 'kAudioObjectPropertyElementMaster' has been explicitly marked deprecated here
    kAudioObjectPropertyElementMaster API_DEPRECATED_WITH_REPLACEMENT("kAudioObjectPropertyElementMain", macos(10.0, 12.0), ios(2.0, 15.0), watchos(1.0, 8.0), tvos(9.0, 15.0)) = kAudioObjectPropertyElementMain
    ^
/Users/runner/work/portaudio/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.c:155:91: warning: 'kAudioObjectPropertyElementMaster' is deprecated: first deprecated in macOS 12.0 [-Wdeprecated-declarations]
    AudioObjectPropertyAddress address = { inPropertyID, kAudioObjectPropertyScopeGlobal, kAudioObjectPropertyElementMaster };
                                                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                                          kAudioObjectPropertyElementMain
/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardwareBase.h:208:5: note: 'kAudioObjectPropertyElementMaster' has been explicitly marked deprecated here
    kAudioObjectPropertyElementMaster API_DEPRECATED_WITH_REPLACEMENT("kAudioObjectPropertyElementMain", macos(10.0, 12.0), ios(2.0, 15.0), watchos(1.0, 8.0), tvos(9.0, 15.0)) = kAudioObjectPropertyElementMain
    ^
/Users/runner/work/portaudio/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.c:747:21: warning: 'OSAtomicOr32' is deprecated: first deprecated in macOS 10.12 - Use atomic_fetch_or_explicit(memory_order_relaxed) from <stdatomic.h> instead [-Wdeprecated-declarations]
/Users/runner/work/portaudio/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.c:355:5: warning: 'OSAtomicOr32' is deprecated: first deprecated in macOS 10.12 - Use atomic_fetch_or_explicit(memory_order_relaxed) from <stdatomic.h> instead [-Wdeprecated-declarations]
    OSAtomicOr32( statusFlags, &blio->statusFlags ) ;
    ^
/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/libkern/OSAtomicDeprecated.h:330:9: note: 'OSAtomicOr32' has been explicitly marked deprecated here
int32_t OSAtomicOr32( uint32_t __theMask, volatile uint32_t *__theValue );
        ^
/Users/runner/work/portaudio/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.c:364:13: warning: 'OSAtomicOr32' is deprecated: first deprecated in macOS 10.12 - Use atomic_fetch_or_explicit(memory_order_relaxed) from <stdatomic.h> instead [-Wdeprecated-declarations]
            OSAtomicOr32( paInputOverflow, &blio->statusFlags );
            ^
/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/libkern/OSAtomicDeprecated.h:330:9: note: 'OSAtomicOr32' has been explicitly marked deprecated here
int32_t OSAtomicOr32( uint32_t __theMask, volatile uint32_t *__theValue );
        ^
/Users/runner/work/portaudio/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.c:399:13: warning: 'OSAtomicOr32' is deprecated: first deprecated in macOS 10.12 - Use atomic_fetch_or_explicit(memory_order_relaxed) from <stdatomic.h> instead [-Wdeprecated-declarations]
            OSAtomicOr32( paOutputUnderflow, &blio->statusFlags );
            ^
/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/libkern/OSAtomicDeprecated.h:330:9: note: 'OSAtomicOr32' has been explicitly marked deprecated here
int32_t OSAtomicOr32( uint32_t __theMask, volatile uint32_t *__theValue );
        ^
/Users/runner/work/portaudio/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.c:494:9: warning: 'OSAtomicAnd32' is deprecated: first deprecated in macOS 10.12 - Use atomic_fetch_and_explicit(memory_order_relaxed) from <stdatomic.h> instead [-Wdeprecated-declarations]
        OSAtomicAnd32( (uint32_t)(~paInputOverflow), &blio->statusFlags );
        ^
/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/libkern/OSAtomicDeprecated.h:386:9: note: 'OSAtomicAnd32' has been explicitly marked deprecated here
int32_t OSAtomicAnd32( uint32_t __theMask, volatile uint32_t *__theValue );
        ^
/Users/runner/work/portaudio/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.c:584:13: warning: 'OSAtomicAnd32' is deprecated: first deprecated in macOS 10.12 - Use atomic_fetch_and_explicit(memory_order_relaxed) from <stdatomic.h> instead [-Wdeprecated-declarations]
            OSAtomicAnd32( (uint32_t)(~paOutputUnderflow), &blio->statusFlags );
            ^
/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/libkern/OSAtomicDeprecated.h:386:9: note: 'OSAtomicAnd32' has been explicitly marked deprecated here
int32_t OSAtomicAnd32( uint32_t __theMask, volatile uint32_t *__theValue );
        ^
                    OSAtomicOr32( paInputOverflow, &stream->xrunFlags );
                    ^
/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/libkern/OSAtomicDeprecated.h:330:9: note: 'OSAtomicOr32' has been explicitly marked deprecated here
int32_t OSAtomicOr32( uint32_t __theMask, volatile uint32_t *__theValue );
        ^
/Users/runner/work/portaudio/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.c:750:21: warning: 'OSAtomicOr32' is deprecated: first deprecated in macOS 10.12 - Use atomic_fetch_or_explicit(memory_order_relaxed) from <stdatomic.h> instead [-Wdeprecated-declarations]
                    OSAtomicOr32( paOutputUnderflow, &stream->xrunFlags );
                    ^
/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/libkern/OSAtomicDeprecated.h:330:9: note: 'OSAtomicOr32' has been explicitly marked deprecated here
int32_t OSAtomicOr32( uint32_t __theMask, volatile uint32_t *__theValue );
        ^
/Users/runner/work/portaudio/portaudio/src/hostapi/coreaudio/pa_mac_core.c:732:111: warning: 'kAudioObjectPropertyElementMaster' is deprecated: first deprecated in macOS 12.0 [-Wdeprecated-declarations]
    AudioObjectPropertyAddress theAddress = { kAudioHardwarePropertyRunLoop, kAudioObjectPropertyScopeGlobal, kAudioObjectPropertyElementMaster };
                                                                                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                                                              kAudioObjectPropertyElementMain
/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardwareBase.h:208:5: note: 'kAudioObjectPropertyElementMaster' has been explicitly marked deprecated here
    kAudioObjectPropertyElementMaster API_DEPRECATED_WITH_REPLACEMENT("kAudioObjectPropertyElementMain", macos(10.0, 12.0), ios(2.0, 15.0), watchos(1.0, 8.0), tvos(9.0, 15.0)) = kAudioObjectPropertyElementMain
    ^
6 warnings generated.
6 warnings generated.
2 warnings generated.
[ 14%] Linking C static library libportaudio.a
[ 14%] Built target PortAudio
[ 15%] Building C object test/CMakeFiles/patest1.dir/patest1.c.o
[ 16%] Building C object test/CMakeFiles/patest_buffer.dir/patest_buffer.c.o
[ 17%] Building C object test/CMakeFiles/patest_callbackstop.dir/patest_callbackstop.c.o
[ 17%] Building C object test/CMakeFiles/pa_minlat.dir/pa_minlat.c.o
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
warning: unknown warning option '-Werror=stringop-overflow'; did you mean '-Werror=shift-overflow'? [-Wunknown-warning-option]
1 warning generated.
1 warning generated.
[ 17%] Linking C executable patest1
[ 18%] Linking C executable pa_minlat
1 warning generated.
ld: warning: ignoring file '../vcpkg_installed/x64-osx/lib/libjack.a[2](JackWeakAPI.c.o)': found architecture 'x86_64', required architecture 'arm64'
ld: warning: ignoring file '../vcpkg_installed/x64-osx/lib/libjack.a[2](JackWeakAPI.c.o)': found architecture 'x86_64', required architecture 'arm64'
1 warning generated.
[ 18%] Linking C executable patest_callbackstop
[ 19%] Linking C executable patest_buffer
ld: Undefined symbols:
  _jack_activate, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
  _jack_client_close, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _Terminate in libportaudio.a[13](pa_jack.c.o)
  _jack_client_name_size, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _PaJack_SetClientName in libportaudio.a[13](pa_jack.c.o)
  _jack_client_open, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
  _jack_connect, referenced from:
      _StartStream in libportaudio.a[13](pa_jack.c.o)
      _StartStream in libportaudio.a[13](pa_jack.c.o)
  _jack_deactivate, referenced from:
      _Terminate in libportaudio.a[13](pa_jack.c.o)
  _jack_frame_time, referenced from:
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _GetStreamTime in libportaudio.a[13](pa_jack.c.o)
      _JackCallback in libportaudio.a[13](pa_jack.c.o)
  _jack_get_buffer_size, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
  _jack_get_client_name, referenced from:
      _PaJack_GetClientName in libportaudio.a[13](pa_jack.c.o)
  _jack_get_ports, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
  _jack_get_sample_rate, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _IsFormatSupported in libportaudio.a[13](pa_jack.c.o)
      _IsFormatSupported in libportaudio.a[13](pa_jack.c.o)
      _GetStreamTime in libportaudio.a[13](pa_jack.c.o)
      _JackCallback in libportaudio.a[13](pa_jack.c.o)
      _JackCallback in libportaudio.a[13](pa_jack.c.o)
      ...
  _jack_on_shutdown, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
  _jack_port_by_name, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
  _jack_port_connected, referenced from:
      _RealStop in libportaudio.a[13](pa_jack.c.o)
      _RealStop in libportaudio.a[13](pa_jack.c.o)
  _jack_port_disconnect, referenced from:
      _RealStop in libportaudio.a[13](pa_jack.c.o)
      _RealStop in libportaudio.a[13](pa_jack.c.o)
  _jack_port_get_buffer, referenced from:
      _JackCallback in libportaudio.a[13](pa_jack.c.o)
      _JackCallback in libportaudio.a[13](pa_jack.c.o)
      _JackCallback in libportaudio.a[13](pa_jack.c.o)
  _jack_port_get_latency, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _JackCallback in libportaudio.a[13](pa_jack.c.o)
      _JackCallback in libportaudio.a[13](pa_jack.c.o)
  _jack_port_name, referenced from:
      _StartStream in libportaudio.a[13](pa_jack.c.o)
      _StartStream in libportaudio.a[13](pa_jack.c.o)
      _StartStream in libportaudio.a[13](pa_jack.c.o)
      _StartStream in libportaudio.a[13](pa_jack.c.o)
  _jack_port_name_size, referenced from:
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
  _jack_port_register, referenced from:
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
  _jack_port_unregister, referenced from:
      _CleanUpStream in libportaudio.a[13](pa_jack.c.o)
      _CleanUpStream in libportaudio.a[13](pa_jack.c.o)
  _jack_set_error_function, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
  _jack_set_process_callback, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
  _jack_set_sample_rate_callback, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
  _jack_set_xrun_callback, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
ld: warning: ignoring file '../vcpkg_installed/x64-osx/lib/libjack.a[2](JackWeakAPI.c.o)': found architecture 'x86_64', required architecture 'arm64'
ld: Undefined symbols:
  _jack_activate, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
  _jack_client_close, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _Terminate in libportaudio.a[13](pa_jack.c.o)
  _jack_client_name_size, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _PaJack_SetClientName in libportaudio.a[13](pa_jack.c.o)
  _jack_client_open, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
  _jack_connect, referenced from:
      _StartStream in libportaudio.a[13](pa_jack.c.o)
      _StartStream in libportaudio.a[13](pa_jack.c.o)
  _jack_deactivate, referenced from:
      _Terminate in libportaudio.a[13](pa_jack.c.o)
  _jack_frame_time, referenced from:
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _GetStreamTime in libportaudio.a[13](pa_jack.c.o)
      _JackCallback in libportaudio.a[13](pa_jack.c.o)
  _jack_get_buffer_size, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
  _jack_get_client_name, referenced from:
      _PaJack_GetClientName in libportaudio.a[13](pa_jack.c.o)
  _jack_get_ports, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _IsFormatSupported in libportaudio.a[13](pa_jack.c.o)
      _IsFormatSupported in libportaudio.a[13](pa_jack.c.o)
      _GetStreamTime in libportaudio.a[13](pa_jack.c.o)
      _JackCallback in libportaudio.a[13](pa_jack.c.o)
      _JackCallback in libportaudio.a[13](pa_jack.c.o)
      ...
  _jack_on_shutdown, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
  _jack_port_by_name, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
  _jack_port_connected, referenced from:
      _RealStop in libportaudio.a[13](pa_jack.c.o)
      _RealStop in libportaudio.a[13](pa_jack.c.o)
  _jack_port_disconnect, referenced from:
      _RealStop in libportaudio.a[13](pa_jack.c.o)
      _RealStop in libportaudio.a[13](pa_jack.c.o)
  _jack_port_get_buffer, referenced from:
      _JackCallback in libportaudio.a[13](pa_jack.c.o)
      _JackCallback in libportaudio.a[13](pa_jack.c.o)
      _JackCallback in libportaudio.a[13](pa_jack.c.o)
  _jack_port_get_latency, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _JackCallback in libportaudio.a[13](pa_jack.c.o)
      _JackCallback in libportaudio.a[13](pa_jack.c.o)
  _jack_port_name, referenced from:
      _StartStream in libportaudio.a[13](pa_jack.c.o)
      _StartStream in libportaudio.a[13](pa_jack.c.o)
      _StartStream in libportaudio.a[13](pa_jack.c.o)
      _StartStream in libportaudio.a[13](pa_jack.c.o)
  _jack_port_name_size, referenced from:
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
  _jack_port_register, referenced from:
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
      _OpenStream in libportaudio.a[13](pa_jack.c.o)
  _jack_port_unregister, referenced from:
      _CleanUpStream in libportaudio.a[13](pa_jack.c.o)
      _CleanUpStream in libportaudio.a[13](pa_jack.c.o)
  _jack_set_error_function, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
  _jack_set_process_callback, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
  _jack_set_sample_rate_callback, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
  _jack_set_xrun_callback, referenced from:
      _PaJack_Initialize in libportaudio.a[13](pa_jack.c.o)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [test/patest_buffer] Error 1
make[1]: *** [test/CMakeFiles/patest_buffer.dir/all] Error 2
make: *** [all] Error 2
Error: Process completed with exit code 2.
RossBencina commented 5 months ago

According to this vcpkg ticket there is no way to target arm64-macos with vcpkg, but that seems not correct since I added it to arm64-macos.

https://github.com/microsoft/vcpkg/discussions/19454