Closed thisjaiden closed 1 year ago
Hmm, this doesn't look related to the build.rs changes in the latest 0.7.5 release of soapysdr-sys -- it added an environment variable that is checked first, but your log is clearly running pkg-config
so that option is not being taken.
cargo update -p soapysdr --precise 0.3.2; cargo update -p soapysdr-sys --precise 0.7.4
to downgrade the libraries in your lock file to confirm whether or not the recent release caused the problem.pkg-config --libs SoapySDR
to see if pkg-config can find it without Rust involved. See if you need to install pkg-config
itself from Homebrew or do anything special to make it see Homebrew's library packages.pkg-config
after re-upgrading to 0.7.5 with SOAPY_SDR_ROOT=/opt/homebrew/Cellar/soapysdr/0.8.1_1/
(should point to a directory that contains lib
and include
). It's probably better to have pkg-config
working properly than to have to set environment variables, though.@tomgilligan any other advice on using this on MacOS?
Out at the moment. Will respond properly about 7 hours from now but I can advise on this.
Thanks for the quick response and advice, here's the update:
pkg-config
couldn't find SoapySDR, so that seems to be the problempkg-config --list-all
includes everything I'd expect, minus SoapySDRsetting SOAPY_SDR_ROOT
resolved the issue and allowed building.
I'm going to presume this is an environment issue with my pkg-config
, barring more information. Feel free to close this if you feel that's right, or keep it open if you think this may still be an issue here. No clue why pkg-config
stopped working just after the cargo update. I'm happy to provide any more information and testing on this issue if you'd like.
Thank you again!
@thisjaiden I'm glad this has worked out for you!
Here's some information from my system that might help you get to the bottom of what is going on with pkg-config
. PKG_CONFIG_PATH
is unset for me. Running pkg-config
scans /opt/homebrew/lib/pkgconfig
(so I guess you could try setting PKG_CONFIG_PATH
to /opt/homebrew/lib/pkgconfig
)
tom@mini ~ % printenv PKG_CONFIG_PATH
tom@mini ~ % find /opt -iname 'soapy*.pc' -ls
57084163 0 lrwxr-xr-x 1 tom admin 55 6 Jul 11:57 /opt/homebrew/lib/pkgconfig/SoapySDR.pc -> ../../Cellar/soapysdr/0.8.1_1/lib/pkgconfig/SoapySDR.pc
57084154 8 -r--r--r-- 1 tom admin 373 6 Jul 11:57 /opt/homebrew/Cellar/soapysdr/0.8.1_1/lib/pkgconfig/SoapySDR.pc
tom@mini ~ % which pkg-config
/opt/homebrew/bin/pkg-config
tom@mini ~ % pkg-config --debug --list-all 2>&1 | head
Error printing disabled by default due to use of output options --exists, --atleast/exact/max-version, --list-all or no output option at all. Value of --print-errors: 0
Error printing disabled
Scanning directory '/opt/homebrew/lib/pkgconfig'
...
It looks like the issue was I made some changes to $PATH
and caused the pkg-config
installed by MacPorts, which does not know about my homebrew packages, to take priority. I was able to track down some people who made the same mistake here.
Final thank you for the great and quick responses! It's much appreciated :)
After the recent upgrade,
soapysdr-sys
0.7.5 fails to complete building, citing not finding SoapySDR in the pkg-config search path. My environment:/opt/homebrew/Cellar/soapysdr/0.8.1_1/*
)soapysdr = "0.3.3"
in Cargo.toml, though 0.3.2 fails from a clean build now as wellSetting PKG_CONFIG_PATH equal to the install location under homebrew does not resolve the issue.
The full error message is below:
I've tried a
cargo clean
, manually cleaning out cargo stuff, and reinstalling SoapySDR.Let me know if there's anything else I can provide or do to help.