EttusResearch / gr-doa

Direction-of-Arrival (DoA) Demo for GNU Radio (OOT) with the USRP™ X-Series and TwinRX™
GNU General Public License v3.0
102 stars 52 forks source link

PyQt4 and PyQwt5 requirements not documented, conflict with PyQt5 #6

Open courtarro opened 4 years ago

courtarro commented 4 years ago

Issue Description

The first time this module is installed, and run_MUSIC_calib_lin_array_simulation.grc is compiled and run, it will complain that PyQt4 is missing. Once the python-qt4 package is installed, it will then complain that Qwt5 is missing. Once python-qwt5-qt4 is installed, the following error results:

RuntimeError: the PyQt4.QtCore module failed to register with the sip module

This seems to result from a conflict in the GUI loading both Qt5 and Qt4 at the same time. GRC compiles into a script that uses PyQt5, but the compass widget inside gr-doa is coded to use Qt4.

The problem is that many people have moved to Qt5, and GRC is fine building Python flowgraphs in Qt mode that use PyQt5 when it's installed and available. The gr-doa compass module presumes PyQt4 is installed, which may not be true.

Setup Details

Ubuntu Bionic (19.04) 64-bit, desktop version.

Initial condition: python-pyqt5 package is installed.

Expected Behavior

The simulation runs and the GUI is shown.

Actual Behaviour

PyQt5 and PyQt4 conflict and the GUI cannot start.

Steps to reproduce the problem

  1. Install python-pyqt5 via apt-get.
  2. Install gr-doa per instructions
  3. Run run_MUSIC_calib_lin_array_simulation.grc
  4. Observe errors
  5. Install python-qt4 and python-qwt5-qt4 via apt-get.
  6. Run run_MUSIC_calib_lin_array_simulation.grc again
  7. Observe different error