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

better support for macOS installation (e.g. via macports) #5625

Closed
nospam2000 opened this issue Mar 5, 2022 · 2 comments
Closed

better support for macOS installation (e.g. via macports) #5625

nospam2000 opened this issue Mar 5, 2022 · 2 comments
Labels

Comments

@nospam2000
Copy link

nospam2000 commented Mar 5, 2022

What happened?

I wanted to use gnuradio via macports. This has been working in an older version. With my updated environment (macOS 11.6.3, Xcode 13.2.1, python 3.9 or 3.10) I haven't found a way to get it running.

Why not using homebrew? Mixing homebrew and macport is probably not a good idea and I'm already using lots of macports tools.

Here this list of things I tried:

  1. macports installation of gnuradio @3.8.5.0_1 works and I can run gnuradio-companion, but when executing the graph I get the following error: Class QMacAutoReleasePoolTracker is implemented in both /opt/local/libexec/qt5/lib/QtCore.framework/Versions/5/QtCore (0x10740c350) and /opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/PyQt5/Qt5/lib/QtCore.framework/Versions/5/QtCore

No matter what I did, the installation always breaks my system by installing two conflicting versions of Qt5 together with python. This even broke other python apps like urh.

I googled for hours but didn't find a solution. It seem to be a problem between gnuradio, Qt5, Python and macports.

  1. macports installation of gnuradio-next @20200419-03d92ac1_7 fails because it doesn't compile. I fixed 3 compile problems and then gave up because investing so much time to an old version is not worth it.

  2. installing gnuradio 3.10 from source
    The instructions are outdated. They reference Python 2.7 and there is no macport port named 'gnuradio-devel' any longer.
    The latest update in the repo with the build script is two years old and references gnuradio 3.8.

Especially the dependencies are unclear. I had already installed all dependencies for gnuradio-next but I needed at least those additionally:

 sudo port install texlive-latex-recommended
 sudo port install texlive-latex-extra
 sudo port install boost
 sudo port install boost178
 sudo port install boost178-numpy
 sudo port install py310-pygccxml
 sudo port install spdlog
 sudo port install libiio
 sudo port install qwtplot3d
 sudo port install qwt-qt5
 sudo port install qwt61 # qwt52 will cause compile error in gnuradio; qwt61 not detected by gnuradio Cmake

Together with the following command, the compile at least started:

CC=/usr/bin/llvm-gcc CXX=/usr/bin/llvm-g++ cmake \
-Dpybind11_DIR=/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pybind11/share/cmake/pybind11 \
-DPYTHON_EXECUTABLE=/opt/local/bin/python3.10 \
-DPYTHON_INCLUDE_DIR=/opt/local/Library/Frameworks/Python.framework/Versions/3.10/Headers \
-DPYTHON_LIBRARY=/opt/local/Library/Frameworks/Python.framework/Versions/3.10/Python \
-DSPHINX_EXECUTABLE=/opt/local/bin/rst2html-3.10.py \
-DGR_PYTHON_DIR=/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages \
..

The reason why the build fails is: qwt52 uses a definition which is no longer defined in recent Qt versions:

In file included from /Users/michael/Documents/gnuradio_310/gnuradio/gr-qtgui/lib/DisplayPlot.cc:11:
In file included from /Users/michael/Documents/gnuradio_310/gnuradio/gr-qtgui/lib/../include/gnuradio/qtgui/DisplayPlot.h:17:
In file included from /opt/local/include/qwt/qwt_plot.h:18:
/opt/local/include/qwt/qwt_scale_map.h:92:5: error: unknown type name 'QT_STATIC_CONST'
    QT_STATIC_CONST double LogMin;

qwt61 no longer has this problem, but is not detected by the gnuradio Cmake script and means gr-qtgui is not built:

-- Python checking for PyQt5 - found
-- Checking for module 'Qt5Qwt6'
--   Found Qt5Qwt6, version 6.1.6
--
-- Configuring gr-qtgui support...
--   Dependency Boost_FOUND = TRUE
--   Dependency QT_FOUND = 1
--   Dependency QWT_FOUND = FALSE
  1. PyBOMBS
    I tried that also some weeks ago, but also failed

You can see the story of using gnuradio on macOS is a story of many failures. It would be really nice if you could support the people from macports to provide a version which can be used on macOS.

I can completely understand when Mac users give up. We want to use gnuradio and not spend days to install it and then still fail.

System Information

OS: Mac: macOS macOS 11.6.3, Xcode 13.2.1, macports python 3.9 or 3.10
GR Installation Method: macports and PyBOMBS

GNU Radio Version

3.10 (maint-3.10), actually I can't get any version to work with the recent macOS and macport versions

Specific Version

0.0.0.0

Steps to Reproduce the Problem

sudo port install gnuradio-next

or

sudo port install gnuradio

Relevant log output

Please have a look at all the issues for gnuradio at the macports bug tracking system

@nospam2000 nospam2000 changed the title Support installation via macPorts on macOS better support for macOS installation (e.g. via macports) Mar 6, 2022
@zeetabit
Copy link

zeetabit commented May 6, 2022

The same problem.
The brew version also is outdated.

Have issues with GUI on MacBook 16 that are probably solved on newer versions but cannot compile on latest OSX due to:

[DEBUG] Checking if package python-click-plugins is installable...
[TRACE] Loading recipe file: /Users/zeetabit/.pybombs/recipes/gr-recipes/python-click-plugins.lwr
[TRACE] Loading template file: /usr/local/lib/python3.9/site-packages/pybombs/templates/empty.lwt
[TRACE] Inheriting from file /usr/local/lib/python3.9/site-packages/pybombs/templates/empty.lwt
[TRACE] Loaded recipe - python-click-plugins
[TRACE] Woohoo, this one's already cached (python-click-plugins)
[TRACE] Woohoo, this one's already cached (python-click-plugins)
[TRACE] exists(python-click-plugins)
[TRACE] Parsing requirements string: py27-click-plugins
[TRACE] Calling ev for recursive satisfier rule evaluation
[TRACE] exists(python-click-plugins)
[TRACE] Parsing requirements string: None
[TRACE] exists(python-click-plugins)
[TRACE] Parsing requirements string: None
[TRACE] exists(python-click-plugins)
[TRACE] Parsing requirements string: click-plugins
[TRACE] Calling ev for recursive satisfier rule evaluation
[TRACE] exists(python-click-plugins)
[TRACE] Parsing requirements string: None
[TRACE] exists(python-click-plugins)
[TRACE] Parsing requirements string: None
[DEBUG] Package python-click-plugins is not installable.
[ERROR] Package has no install method: python-click-plugins
[DEBUG] Unresolved install path.

The fix https://github.com/gnuradio/gr-recipes/pull/178/files not helped.

So can't try the latest version anyway.

p.s. now have installed brew version and adjusted installed version sources manually and it works

@marcusmueller
Copy link
Member

excellent support via anaconda now, and macports was our go-to mac deployment so long!

https://wiki.gnuradio.org/index.php?title=InstallingGR#Quick_Start

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

No branches or pull requests

4 participants