gr-doa icon indicating copy to clipboard operation
gr-doa copied to clipboard

PyQt4 and PyQwt5 requirements not documented, conflict with PyQt5

Open courtarro opened this issue 5 years ago • 0 comments

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

courtarro avatar Oct 02 '19 21:10 courtarro