Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mac M1 Issue #65

Open
madjuju opened this issue Feb 16, 2023 · 2 comments
Open

Mac M1 Issue #65

madjuju opened this issue Feb 16, 2023 · 2 comments
Assignees

Comments

@madjuju
Copy link

madjuju commented Feb 16, 2023

[ 16%] Linking CXX shared module libsdrPlaySupport.so
Undefined symbols for architecture arm64:
"SoapySDR::Device::getSettingInfo(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) const", referenced from:
vtable for SoapySDRPlay in Settings.cpp.o
"SoapySDR::Device::getSettingInfo(int, unsigned long, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) const", referenced from:
vtable for SoapySDRPlay in Settings.cpp.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libsdrPlaySupport.so] Error 1
make[1]: *** [CMakeFiles/sdrPlaySupport.dir/all] Error 2
make: *** [all] Error 2

@fventuri
Copy link
Collaborator

@madjuju - it looks like libSoapySDR on your Mac is missing that getSettingInfo function for some reason.

To confirm this is really the case, do you mind running the following command from a terminal:

find /usr -name libSoapySDR\*

this output should hopefully be the full path of the SoapySDR dynamic library on your system; probably something like this: /usr/local/lib/libSoapySDR.<version>.dylib

Once you have that filename, the next step is to run the command:

nm -C <filename from the previous step> | grep 'SoapySDR::Device::getSettingInfo'

and see if it returns anything.

I don't have a Mac here, since I run Linux on my computer; you may have to tweak the commands above a little bit in case you get some error message or warning.

Franco

@fventuri fventuri self-assigned this Feb 17, 2023
@Aldekein
Copy link

Aldekein commented Jun 8, 2023

I have the same issue, but on M2.
I have tried SDRplay_RSP_API-ARM64-3.07.1.run, SDRplay_RSP_API-MacOS-3.07.a4.run, SDRplay_RSP_API-MacOSX-3.07.3.pkg – the proper arm64 module, that should be placed in lib/SoapySDR/modules0.8/libsdrPlaySupport.so is absent :(

I compiled everything that allowed to compile, gathered all libraries of 'Mach-O 64-bit dynamically linked shared library arm64' format, but I lack this one file and cannot build it.

Fixed! Update: only when I removed everything SDR related installed via brew (brew remove gnuradio soapysdr soapyrtlsdr), was I able to build SoapySDRPlay and get /usr/local/lib/SoapySDR/modules0.8-3/libsdrPlaySupport.so!

# SoapySDRUtil --info
######################################################
##     Soapy SDR -- the SDR abstraction library     ##
######################################################

Lib Version: v0.8.1-gbb33b2d2
API Version: v0.8.200
ABI Version: v0.8-3
Install root: /usr/local
Search path:  /usr/local/lib/SoapySDR/modules0.8-3
Module found: /usr/local/lib/SoapySDR/modules0.8-3/libsdrPlaySupport.so (0.4.1-c4bb9af)
Available factories... sdrplay

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants