SDRPlusPlus icon indicating copy to clipboard operation
SDRPlusPlus copied to clipboard

Need SDRPlusPlus/SDR++ to run on our M1 and other Apple silicon Macs! Help!

Open NH7L opened this issue 3 years ago • 35 comments

Lots of us really want SDRPlusPlus SDR++ to run on our M1 and other Apple silicon Macs. Not at all happy being compelled to use CubicSDR, which is a non-intuitive pain in the ass. Most of us non-engineers, non-coders grew up on SDR#. SDR++ is the answer to our dreams. Hope you can help us, Alexandre! Many thanks for all you've done to create this great program.

NH7L avatar Dec 25 '21 01:12 NH7L

SDR++ already runs natively on M1 just fine. I dont own a mac tho so I can only provide intel builds built by the CI system. (The .app bundle is available on https://www.sdrpp.org/nightly). I've recently been lent a remote M1 mac mini but i only use it for release, so the builds arent up to date)

On Sat, 25 Dec 2021, 02:34 NH7L, @.***> wrote:

Lots of us really want SDRPlusPlus SDR++ to run on our M1 and other Apple silicon Macs. Not at all happy being compelled to use CubicSDR, which is a non-intuitive pain in the ass. Most of us non-engineers, non-coders grew up on SDR#. SDR++ is the answer to our dreams. Hope you can help us, Alexandre! Many thanks for all you've done to create this great program.

— Reply to this email directly, view it on GitHub https://github.com/AlexandreRouma/SDRPlusPlus/issues/557, or unsubscribe https://github.com/notifications/unsubscribe-auth/AECVIDFLV7LTWXTP5LOYYQDUSUNS7ANCNFSM5KXJEK4Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you are subscribed to this thread.Message ID: @.***>

AlexandreRouma avatar Dec 25 '21 01:12 AlexandreRouma

Thank you, Alexandre, for answering me, and so quickly.

I realize SDR++ can be made to run on my M1 Mac, but I have no background or knowledge in software engineering, coding, etc., so that is beyond me.

I guess my alternative is to install Windows OS on my Mac and then install the Windows version of your excellent app. I have installed CubicSDR, but I find it awkward and awful to use. It is totally anti-intuitive. I may have to learn it, though. Or I could install your program on my Windows laptop. I dearly want to run SDR++ on my Mac, however.

Like so many others, I learned what little I know about SDR through using SDR# on the ancient Windows machine I keep. i am an amateur radio enthusiast, U.S. license NH7L, and in general, most of us Mac radio amateurs find ourselves compelled to keep the hated Windows machines around just for amateur radio purposes, since there is relatively little available for Macs.

Your app appears to be so good that it would become THE default SDR app for Macs if it were easier to install. There are thousands and thousands of us!

Best wishes, merry Christmas and happy New Year.

Ernest Murphy NH7L Birch Bay, Washington state, USA

https://www.qrz.com/db/nh7l

On Fri, Dec 24, 2021 at 5:41 PM AlexandreRouma @.***> wrote:

SDR++ already runs natively on M1 just fine. I dont own a mac tho so I can only provide intel builds built by the CI system. (The .app bundle is available on https://www.sdrpp.org/nightly). I've recently been lent a remote M1 mac mini but i only use it for release, so the builds arent up to date)

On Sat, 25 Dec 2021, 02:34 NH7L, @.***> wrote:

Lots of us really want SDRPlusPlus SDR++ to run on our M1 and other Apple silicon Macs. Not at all happy being compelled to use CubicSDR, which is a non-intuitive pain in the ass. Most of us non-engineers, non-coders grew up on SDR#. SDR++ is the answer to our dreams. Hope you can help us, Alexandre! Many thanks for all you've done to create this great program.

— Reply to this email directly, view it on GitHub https://github.com/AlexandreRouma/SDRPlusPlus/issues/557, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AECVIDFLV7LTWXTP5LOYYQDUSUNS7ANCNFSM5KXJEK4Q

. Triage notifications on the go with GitHub Mobile for iOS < https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675

or Android < https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .

You are receiving this because you are subscribed to this thread.Message ID: @.***>

— Reply to this email directly, view it on GitHub https://github.com/AlexandreRouma/SDRPlusPlus/issues/557#issuecomment-1000956752, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXBJS2JCNU3CV5CJCX3ZLC3USUONRANCNFSM5KXJEK4Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>

NH7L avatar Dec 25 '21 02:12 NH7L

Unfortunately, making the build process on MacOS easier isn't possible, it's just the nature of software development.

And for installing, as I said, main releases have M1 builds when I'm able to have access to a M1 mac. Steve Brightman from SDRplay lent me a remote one, but I can't have it automatically build commits like the CI does, so it requires me to manually build and package the app (which is why I only do it on big releases). Buying a M1 mac is a ridiculously expensive investment (around a year of patreon savings) that I just can't justify.

AlexandreRouma avatar Dec 25 '21 02:12 AlexandreRouma

Here is a native M1 build I just made. (ignore the previous version I posted which was broken) sdrpp_macos_m1.zip

AlexandreRouma avatar Dec 25 '21 16:12 AlexandreRouma

There is a discussion about Github adding eventually M1 Macs to the Github Action farm - although they are still vague by when this will happen. I just downloaded the provided sdrpp_macos_m1.zip and it works like a charm. Thanks for this awesome piece of software and your effort of porting it into the Mac world!

dh1tw avatar Dec 25 '21 22:12 dh1tw

Would be great if they did! I think the main issue right now is the github action runners are written in C# (dotnet core) and that's not supported on M1 yet.

AlexandreRouma avatar Dec 25 '21 22:12 AlexandreRouma

@AlexandreRouma let me know if you want help with the github actions .NET (aka dotnet core) will run fine on M1 (either native or thru Rosetta 2)

KZeronimo avatar Dec 25 '21 23:12 KZeronimo

If you can get the github runner to work on a M1 machine and compile native M1 code, let me know So far I haven't even tried since microsoft says it doesn't work

AlexandreRouma avatar Dec 25 '21 23:12 AlexandreRouma

You can easily install SDRPlusPlus with macports

ra1nb0w avatar Dec 27 '21 21:12 ra1nb0w

I can only garantee builds from the releases & nightly builds. The builds I've seen in package managers tend to be built and configured completely wrong resulting in configuration issues and/or missing modules.

AlexandreRouma avatar Dec 27 '21 22:12 AlexandreRouma

You can see the configuration at https://github.com/macports/macports-ports/blob/master/science/SDRPlusPlus/Portfile Feel free to say what is wrong.

ra1nb0w avatar Dec 27 '21 22:12 ra1nb0w

Here is a native M1 build I just made. (ignore the previous version I posted which was broken) sdrpp_macos_m1.zip

Could you create another nightly with your server support? The macports version is old now and the intel nighlty won't start on apple silicon

gymnae avatar Jan 28 '22 23:01 gymnae

FYI on macports:

  • SDR++ is at the latest stable. We generally track only stable point. You can build master easily when you have installed the stable.
  • sdrplay driver support for M1: I am still waiting sdrplay dev that had promise to unify the installer and release the new stable version.

ra1nb0w avatar Jan 29 '22 06:01 ra1nb0w

  • You can build master easily when you have installed the stable.

Cool, how could I do that? I'm only interested for now in being able to connect to the beta server

gymnae avatar Jan 29 '22 10:01 gymnae

sudo port install sdrplusplus
# somewhere
git clone https://github.com/AlexandreRouma/SDRPlusPlus.git
cd SDRPlusPlus
mkdir build && cd build
cmake -DOPT_OVERRIDE_STD_FILESYSTEM=OFF -DOPT_BUILD_AUDIO_SINK=OFF -DOPT_BUILD_PORTAUDIO_SINK=ON -DOPT_BUILD_NEW_PORTAUDIO_SINK=ON ..

ra1nb0w avatar Jan 29 '22 11:01 ra1nb0w

Tried that, fails with missing "volk", the one available in macports doesn't do anything when installed and brew requires building from source, which apparently also fails

gymnae avatar Jan 29 '22 11:01 gymnae

Maybe, you have conflicts between macports and homebrew. I build SDR++ without any trouble with macports. Can you check if you have the following file /opt/local/share/cmake/volk/VolkConfig.cmake? Can you post the error?

ra1nb0w avatar Jan 29 '22 13:01 ra1nb0w

I'd suggest removing everything (besides the modified libvolk), starting clean and doing exactly how the CI does it: https://github.com/AlexandreRouma/SDRPlusPlus/blob/260651fb5c328346044ec6562f7d590c220dc203/.github/workflows/build_all.yml#L77 Of course you can skip the steps about hardware you don't need.

AlexandreRouma avatar Jan 29 '22 13:01 AlexandreRouma

Yeah volk won't build for arm for me:

Undefined symbols for architecture arm64:
  "_GetAarch64FeaturesEnumName", referenced from:
      _main in list_cpu_features.c.o
  "_GetAarch64FeaturesEnumValue", referenced from:
      _main in list_cpu_features.c.o
  "_GetAarch64Info", referenced from:
      _main in list_cpu_features.c.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]: *** [cpu_features/list_cpu_features] Error 1
make[1]: *** [cpu_features/CMakeFiles/list_cpu_features.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 89%] Built target volk

gymnae avatar Jan 29 '22 13:01 gymnae

that's normal, cpu_features, used by volk doesn't support M1 yet so you have to replace the version in the volk codebase with a fork that supports M1.

AlexandreRouma avatar Jan 29 '22 14:01 AlexandreRouma

Hmk, so I will hunt for one in its network

gymnae avatar Jan 29 '22 14:01 gymnae

this one iirc https://github.com/google/cpu_features/pull/204

AlexandreRouma avatar Jan 29 '22 14:01 AlexandreRouma

Progress report, clueless user division. Keep in mind that I am a software ignoramus, knowing absolutely nothing about coding, compiling, dependencies or any of that stuff:

A month later, I am very happily running the version of SDR++ Alexandre gave me (see Dec. 25, above) on two Apple-silicon machines, both bottom-of-the-line 2020 MacBook Air M1 8GB/256GB. I use SDR++ and an Airspy YouLoop to run an RTL-SDR.com v.3 and an Airspy HF+ Discovery. Though it is not listed in the SDR++ source list, I also tried my 10-year-old Funcube Dongle Pro+ just for kicks. Unsurprisingly, the app would not recognize it. How much SDR++ use? Daily, sometimes for hours. Any crashes? Yes. One, for unknown reasons.

SDR++ is excellent. There is no other word for it. Sincere gratitude to Alexandre for his expertise and all the work he has put into (and continues to put into) this app. This is what Mac-using radio enthusiasts have been waiting for ... for years.

Ernie NH7L

NH7L avatar Jan 29 '22 15:01 NH7L

this one iirc google/cpu_features#204

Ok, that is a bit over my head :) I don't really know how to add this cpu_features to the cloned volk repo and compile

gymnae avatar Jan 29 '22 16:01 gymnae

Volk builds fine on macports from July 2021 (https://github.com/macports/macports-ports/commit/e83a55ef196d4283be438c052295b2fc44f3df5b and https://ports.macports.org/port/volk/details/)

ra1nb0w avatar Jan 29 '22 16:01 ra1nb0w

removing/moving homebrew and using only macports must build SDR++. Otherwise, you can edit the portfile

sudo port edit sdrplusplus

changing the version with the commit and update checksums with

sudo port -d checksum sdrplusplus

then you can install as always

ra1nb0w avatar Jan 29 '22 16:01 ra1nb0w

The weird thing is that installing volk appears to do nothing:

sudo port install cmake
--->  Computing dependencies for cmake
--->  Cleaning cmake
--->  Scanning binaries for linking errors
--->  No broken files found.
--->  No broken ports found.

I removed all build related thing from brew and installed cmake via ports. Still, volk is not being found by cmake

gymnae avatar Jan 29 '22 16:01 gymnae

port contents volk

what returns? You should have .cmake files. otherwise

sudo port install volk

ra1nb0w avatar Jan 29 '22 17:01 ra1nb0w

$ port contents volk
Port volk contains:
  /opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/volk_modtool/__init__.py
  /opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/volk_modtool/__init__.pyc
  /opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/volk_modtool/__init__.pyo
  /opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/volk_modtool/cfg.py
  /opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/volk_modtool/cfg.pyc
  /opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/volk_modtool/cfg.pyo
  /opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/volk_modtool/volk_modtool_generate.py
  /opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/volk_modtool/volk_modtool_generate.pyc
  /opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/volk_modtool/volk_modtool_generate.pyo
  /opt/local/bin/list_cpu_features
  /opt/local/bin/volk-config-info
  /opt/local/bin/volk_modtool
  /opt/local/bin/volk_profile
  /opt/local/include/cpu_features/cpu_features_cache_info.h
  /opt/local/include/cpu_features/cpu_features_macros.h
  /opt/local/include/cpu_features/cpuinfo_aarch64.h
  /opt/local/include/volk/constants.h
  /opt/local/include/volk/saturation_arithmetic.h
  /opt/local/include/volk/volk.h
  /opt/local/include/volk/volk_16i_32fc_dot_prod_32fc.h
  /opt/local/include/volk/volk_16i_branch_4_state_8.h
  /opt/local/include/volk/volk_16i_convert_8i.h
  /opt/local/include/volk/volk_16i_max_star_16i.h
  /opt/local/include/volk/volk_16i_max_star_horizontal_16i.h
  /opt/local/include/volk/volk_16i_permute_and_scalar_add.h
  /opt/local/include/volk/volk_16i_s32f_convert_32f.h
  /opt/local/include/volk/volk_16i_x4_quad_max_star_16i.h
  /opt/local/include/volk/volk_16i_x5_add_quad_16i_x4.h
  /opt/local/include/volk/volk_16ic_convert_32fc.h
  /opt/local/include/volk/volk_16ic_deinterleave_16i_x2.h
  /opt/local/include/volk/volk_16ic_deinterleave_real_16i.h
  /opt/local/include/volk/volk_16ic_deinterleave_real_8i.h
  /opt/local/include/volk/volk_16ic_magnitude_16i.h
  /opt/local/include/volk/volk_16ic_s32f_deinterleave_32f_x2.h
  /opt/local/include/volk/volk_16ic_s32f_deinterleave_real_32f.h
  /opt/local/include/volk/volk_16ic_s32f_magnitude_32f.h
  /opt/local/include/volk/volk_16ic_x2_dot_prod_16ic.h
  /opt/local/include/volk/volk_16ic_x2_multiply_16ic.h
  /opt/local/include/volk/volk_16u_byteswap.h
  /opt/local/include/volk/volk_16u_byteswappuppet_16u.h
  /opt/local/include/volk/volk_32f_64f_add_64f.h
  /opt/local/include/volk/volk_32f_64f_multiply_64f.h
  /opt/local/include/volk/volk_32f_8u_polarbutterfly_32f.h
  /opt/local/include/volk/volk_32f_8u_polarbutterflypuppet_32f.h
  /opt/local/include/volk/volk_32f_accumulator_s32f.h
  /opt/local/include/volk/volk_32f_acos_32f.h
  /opt/local/include/volk/volk_32f_asin_32f.h
  /opt/local/include/volk/volk_32f_atan_32f.h
  /opt/local/include/volk/volk_32f_binary_slicer_32i.h
  /opt/local/include/volk/volk_32f_binary_slicer_8i.h
  /opt/local/include/volk/volk_32f_convert_64f.h
  /opt/local/include/volk/volk_32f_cos_32f.h
  /opt/local/include/volk/volk_32f_exp_32f.h
  /opt/local/include/volk/volk_32f_expfast_32f.h
  /opt/local/include/volk/volk_32f_index_max_16u.h
  /opt/local/include/volk/volk_32f_index_max_32u.h
  /opt/local/include/volk/volk_32f_invsqrt_32f.h
  /opt/local/include/volk/volk_32f_log2_32f.h
  /opt/local/include/volk/volk_32f_null_32f.h
  /opt/local/include/volk/volk_32f_s32f_32f_fm_detect_32f.h
  /opt/local/include/volk/volk_32f_s32f_add_32f.h
  /opt/local/include/volk/volk_32f_s32f_calc_spectral_noise_floor_32f.h
  /opt/local/include/volk/volk_32f_s32f_convert_16i.h
  /opt/local/include/volk/volk_32f_s32f_convert_32i.h
  /opt/local/include/volk/volk_32f_s32f_convert_8i.h
  /opt/local/include/volk/volk_32f_s32f_mod_rangepuppet_32f.h
  /opt/local/include/volk/volk_32f_s32f_multiply_32f.h
  /opt/local/include/volk/volk_32f_s32f_normalize.h
  /opt/local/include/volk/volk_32f_s32f_power_32f.h
  /opt/local/include/volk/volk_32f_s32f_s32f_mod_range_32f.h
  /opt/local/include/volk/volk_32f_s32f_stddev_32f.h
  /opt/local/include/volk/volk_32f_sin_32f.h
  /opt/local/include/volk/volk_32f_sqrt_32f.h
  /opt/local/include/volk/volk_32f_stddev_and_mean_32f_x2.h
  /opt/local/include/volk/volk_32f_tan_32f.h
  /opt/local/include/volk/volk_32f_tanh_32f.h
  /opt/local/include/volk/volk_32f_x2_add_32f.h
  /opt/local/include/volk/volk_32f_x2_divide_32f.h
  /opt/local/include/volk/volk_32f_x2_dot_prod_16i.h
  /opt/local/include/volk/volk_32f_x2_dot_prod_32f.h
  /opt/local/include/volk/volk_32f_x2_fm_detectpuppet_32f.h
  /opt/local/include/volk/volk_32f_x2_interleave_32fc.h
  /opt/local/include/volk/volk_32f_x2_max_32f.h
  /opt/local/include/volk/volk_32f_x2_min_32f.h
  /opt/local/include/volk/volk_32f_x2_multiply_32f.h
  /opt/local/include/volk/volk_32f_x2_pow_32f.h
  /opt/local/include/volk/volk_32f_x2_s32f_interleave_16ic.h
  /opt/local/include/volk/volk_32f_x2_subtract_32f.h
  /opt/local/include/volk/volk_32f_x3_sum_of_poly_32f.h
  /opt/local/include/volk/volk_32fc_32f_add_32fc.h
  /opt/local/include/volk/volk_32fc_32f_dot_prod_32fc.h
  /opt/local/include/volk/volk_32fc_32f_multiply_32fc.h
  /opt/local/include/volk/volk_32fc_accumulator_s32fc.h
  /opt/local/include/volk/volk_32fc_conjugate_32fc.h
  /opt/local/include/volk/volk_32fc_convert_16ic.h
  /opt/local/include/volk/volk_32fc_deinterleave_32f_x2.h
  /opt/local/include/volk/volk_32fc_deinterleave_64f_x2.h
  /opt/local/include/volk/volk_32fc_deinterleave_imag_32f.h
  /opt/local/include/volk/volk_32fc_deinterleave_real_32f.h
  /opt/local/include/volk/volk_32fc_deinterleave_real_64f.h
  /opt/local/include/volk/volk_32fc_index_max_16u.h
  /opt/local/include/volk/volk_32fc_index_max_32u.h
  /opt/local/include/volk/volk_32fc_magnitude_32f.h
  /opt/local/include/volk/volk_32fc_magnitude_squared_32f.h
  /opt/local/include/volk/volk_32fc_s32f_atan2_32f.h
  /opt/local/include/volk/volk_32fc_s32f_deinterleave_real_16i.h
  /opt/local/include/volk/volk_32fc_s32f_magnitude_16i.h
  /opt/local/include/volk/volk_32fc_s32f_power_32fc.h
  /opt/local/include/volk/volk_32fc_s32f_power_spectral_densitypuppet_32f.h
  /opt/local/include/volk/volk_32fc_s32f_power_spectrum_32f.h
  /opt/local/include/volk/volk_32fc_s32f_x2_power_spectral_density_32f.h
  /opt/local/include/volk/volk_32fc_s32fc_multiply_32fc.h
  /opt/local/include/volk/volk_32fc_s32fc_rotatorpuppet_32fc.h
  /opt/local/include/volk/volk_32fc_s32fc_x2_rotator_32fc.h
  /opt/local/include/volk/volk_32fc_x2_add_32fc.h
  /opt/local/include/volk/volk_32fc_x2_conjugate_dot_prod_32fc.h
  /opt/local/include/volk/volk_32fc_x2_divide_32fc.h
  /opt/local/include/volk/volk_32fc_x2_dot_prod_32fc.h
  /opt/local/include/volk/volk_32fc_x2_multiply_32fc.h
  /opt/local/include/volk/volk_32fc_x2_multiply_conjugate_32fc.h
  /opt/local/include/volk/volk_32fc_x2_s32f_square_dist_scalar_mult_32f.h
  /opt/local/include/volk/volk_32fc_x2_s32fc_multiply_conjugate_add_32fc.h
  /opt/local/include/volk/volk_32fc_x2_square_dist_32f.h
  /opt/local/include/volk/volk_32i_s32f_convert_32f.h
  /opt/local/include/volk/volk_32i_x2_and_32i.h
  /opt/local/include/volk/volk_32i_x2_or_32i.h
  /opt/local/include/volk/volk_32u_byteswap.h
  /opt/local/include/volk/volk_32u_byteswappuppet_32u.h
  /opt/local/include/volk/volk_32u_popcnt.h
  /opt/local/include/volk/volk_32u_popcntpuppet_32u.h
  /opt/local/include/volk/volk_32u_reverse_32u.h
  /opt/local/include/volk/volk_64f_convert_32f.h
  /opt/local/include/volk/volk_64f_x2_add_64f.h
  /opt/local/include/volk/volk_64f_x2_max_64f.h
  /opt/local/include/volk/volk_64f_x2_min_64f.h
  /opt/local/include/volk/volk_64f_x2_multiply_64f.h
  /opt/local/include/volk/volk_64u_byteswap.h
  /opt/local/include/volk/volk_64u_byteswappuppet_64u.h
  /opt/local/include/volk/volk_64u_popcnt.h
  /opt/local/include/volk/volk_64u_popcntpuppet_64u.h
  /opt/local/include/volk/volk_8i_convert_16i.h
  /opt/local/include/volk/volk_8i_s32f_convert_32f.h
  /opt/local/include/volk/volk_8ic_deinterleave_16i_x2.h
  /opt/local/include/volk/volk_8ic_deinterleave_real_16i.h
  /opt/local/include/volk/volk_8ic_deinterleave_real_8i.h
  /opt/local/include/volk/volk_8ic_s32f_deinterleave_32f_x2.h
  /opt/local/include/volk/volk_8ic_s32f_deinterleave_real_32f.h
  /opt/local/include/volk/volk_8ic_x2_multiply_conjugate_16ic.h
  /opt/local/include/volk/volk_8ic_x2_s32f_multiply_conjugate_32fc.h
  /opt/local/include/volk/volk_8u_conv_k7_r2puppet_8u.h
  /opt/local/include/volk/volk_8u_x2_encodeframepolar_8u.h
  /opt/local/include/volk/volk_8u_x3_encodepolar_8u_x2.h
  /opt/local/include/volk/volk_8u_x3_encodepolarpuppet_8u.h
  /opt/local/include/volk/volk_8u_x4_conv_k7_r2_8u.h
  /opt/local/include/volk/volk_alloc.hh
  /opt/local/include/volk/volk_avx2_intrinsics.h
  /opt/local/include/volk/volk_avx_intrinsics.h
  /opt/local/include/volk/volk_common.h
  /opt/local/include/volk/volk_complex.h
  /opt/local/include/volk/volk_config_fixed.h
  /opt/local/include/volk/volk_cpu.h
  /opt/local/include/volk/volk_malloc.h
  /opt/local/include/volk/volk_neon_intrinsics.h
  /opt/local/include/volk/volk_prefs.h
  /opt/local/include/volk/volk_sse3_intrinsics.h
  /opt/local/include/volk/volk_sse_intrinsics.h
  /opt/local/include/volk/volk_typedefs.h
  /opt/local/include/volk/volk_version.h
  /opt/local/lib/cmake/CpuFeatures/CpuFeaturesConfig.cmake
  /opt/local/lib/cmake/CpuFeatures/CpuFeaturesConfigVersion.cmake
  /opt/local/lib/cmake/CpuFeatures/CpuFeaturesTargets-release.cmake
  /opt/local/lib/cmake/CpuFeatures/CpuFeaturesTargets.cmake
  /opt/local/lib/libcpu_features.a
  /opt/local/lib/libvolk.2.5.0.dylib
  /opt/local/lib/libvolk.2.5.dylib
  /opt/local/lib/libvolk.dylib
  /opt/local/lib/pkgconfig/volk.pc
  /opt/local/share/cmake/volk/VolkConfig.cmake
  /opt/local/share/cmake/volk/VolkConfigVersion.cmake
  /opt/local/share/cmake/volk/VolkTargets-release.cmake
  /opt/local/share/cmake/volk/VolkTargets.cmake

But when I run cmake -DOPT_OVERRIDE_STD_FILESYSTEM=OFF -DOPT_BUILD_AUDIO_SINK=OFF -DOPT_BUILD_PORTAUDIO_SINK=ON -DOPT_BUILD_NEW_PORTAUDIO_SINK=ON .. (from a previous comment) I get:

or cmake $GITHUB_WORKSPACE -DOPT_BUILD_PLUTOSDR_SOURCE=OFF -DOPT_BUILD_SOAPY_SOURCE=OFF -DOPT_BUILD_BLADERF_SOURCE=OFF -DOPT_BUILD_SDRPLAY_SOURCE=OFF -DOPT_BUILD_LIMESDR_SOURCE=OFF -DOPT_BUILD_AUDIO_SINK=OFF -DOPT_BUILD_PORTAUDIO_SINK=ON -DOPT_BUILD_NEW_PORTAUDIO_SINK=ON -DOPT_BUILD_M17_DECODER=ON -DUSE_BUNDLE_DEFAULTS=ON -DCMAKE_BUILD_TYPE=Release

-- Checking for module 'volk'
--   No package 'volk' found
CMake Error at /opt/local/share/cmake-3.22/Modules/FindPkgConfig.cmake:603 (message):
  A required package was not found
Call Stack (most recent call first):
  /opt/local/share/cmake-3.22/Modules/FindPkgConfig.cmake:825 (_pkg_check_modules_internal)
  core/CMakeLists.txt:83 (pkg_check_modules)

In addition this error shows up in the build log: clang: error: the clang compiler does not support '-march=native'

Buuuuuut to stop all this for a minute, it might be because I only have xcode command line tools and not the full xcode suite installed. Will fix this now

gymnae avatar Jan 29 '22 17:01 gymnae

you have something strange. I just tested sdrplusplus trunk on M1 mini and macOS 11 and it works fine without error. maybe some CXX/CC flags in the environment? Ps. the volk installation is fine and all files are in the right place.

ra1nb0w avatar Jan 29 '22 17:01 ra1nb0w