SoapyUHD
SoapyUHD copied to clipboard
SoapyUHD failing to build in macOS 14
Error comes from brew install --head soapyuhd in GitHub macos-latest runners:
==> Installing pothosware/pothos/soapyuhd --HEAD
==> cmake .. -DUHD_ROOT='.'
==> make install
Last 15 lines from /Users/runner/Library/Logs/Homebrew/soapyuhd/02.make:
^
/tmp/soapyuhd-20250205-19960-9zi99p/UHDSoapyDevice.cpp:865:39: error: allocating an object of abstract class type 'UHDSoapyTxStream'
uhd::tx_streamer::sptr stream(new UHDSoapyTxStream(_device, args));
^
/opt/homebrew/include/uhd/stream.hpp:338:18: note: unimplemented pure virtual method 'post_output_action' in 'UHDSoapyTxStream'
virtual void post_output_action(
^
[ 80%] Linking CXX shared module libuhdSupport.so
/opt/homebrew/opt/cmake/bin/cmake -E cmake_link_script CMakeFiles/uhdSupport.dir/link.txt --verbose=1
/opt/homebrew/Library/Homebrew/shims/mac/super/clang++ -O3 -DNDEBUG -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -bundle -Wl,-headerpad_max_install_names -o libuhdSupport.so CMakeFiles/uhdSupport.dir/SoapyUHDDevice.cpp.o CMakeFiles/uhdSupport.dir/Version.cpp.o /opt/homebrew/lib/libuhd.dylib /opt/homebrew/lib/libboost_thread.dylib /opt/homebrew/lib/libboost_system.dylib /opt/homebrew/lib/libSoapySDR.0.8.1.dylib -pthread -flat_namespace
Same error rebuilding against UHD 4.8 for conda-forge: https://github.com/conda-forge/soapysdr-module-uhd-feedstock/pull/31. This looks like it is related to post_input_action / post_output_action functions being added to the rx_streamer / tx_streamer classes in UHD: https://github.com/EttusResearch/uhd/commit/7833aa71c3f9ddc881ed1fa833827c79c1f7de9e. I guess the UHDSoapyRxStream / UHDSoapyTxStream classes need to implement these functions.
No-ops seem sufficient, implemented in #61.