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

[ERROR] Package has no install method: qt5 #555

Closed
bairimenglan opened this issue Sep 28, 2019 · 11 comments · Fixed by gnuradio/gr-recipes#266
Closed

[ERROR] Package has no install method: qt5 #555

bairimenglan opened this issue Sep 28, 2019 · 11 comments · Fixed by gnuradio/gr-recipes#266

Comments

@bairimenglan
Copy link

I have already installed qt package through Homebrew, but it still point out that there is no install method:qt5, how can i deal this case?


~/SDR/gnuradio » pybombs prefix init ~/SDR/gnuradio -R gnuradio-default                                                                                                                qing@qingdeMacBook-Pro
[INFO] Prefix Python version is: 2.7.16
[INFO] PyBOMBS Version 2.3.4a0
[WARNING] There already is a prefix in `/Users/qing/SDR/gnuradio'.
Continue using this path Y/[N]? Y
[INFO] Prefix Python version is: 2.7.16
[INFO] Prefix Python version is: 2.7.16
[INFO] Installing default packages for prefix...
[INFO]
  - gnuradio
[INFO] Phase 1: Creating install tree and installing binary packages:
[ERROR] Package has no install method: qt5
@brianredbeard
Copy link

This is specifically because an install type is being requested which the package qt5 has no method/mechanism of supporting. Specifically the recipe for QT5 supports the following:

  deb: libqt5opengl5-dev && libqt5svg5-dev && qt5-default
  rpm: (qt5-qtbase-devel && qt5-qtsvg-devel) || (devel_qt5 && libqt5-qtsvg-devel)
  pacman: qt5-base
  port: qt5 && qt5-qtbase
  portage: dev-qt/qtgui

I experienced this same issue when attempting to first do a fully source based install, then when splitting the difference and using pip for some packages.

Be warned though, this problem is endemic across the various recipes. Some other packages (e.g. python-click-plugins) only support binary installs despite the fact that it's perfectly sufficient to do pip based installation.

@embedded-bert
Copy link

got the same problem attempting to install gnuradio 3.8 using PyBOMBS in git console on win10 machine - see log:

$ pybombs auto-config
[INFO] Prefix Python version is: 3.7.5
[INFO] PyBOMBS Version 2.3.4a0
[INFO] Using config file: None

user@MACHINE MINGW64 /c
$ pybombs recipes add-defaults
[INFO] Prefix Python version is: 3.7.5
[INFO] PyBOMBS Version 2.3.4a0
[INFO] Creating new git cache in C:\Users\bert\.pybombs\gitcache
remote: Enumerating objects: 42, done.
remote: Counting objects: 100% (42/42), done.
remote: Compressing objects: 100% (40/40), done.
remote: Total 1825 (delta 23), reused 5 (delta 2), pack-reused 1783
Receiving objects: 100% (1825/1825), 368.66 KiB | 1.61 MiB/s, done.
Resolving deltas: 100% (1483/1483), done.
From https://github.com/gnuradio/gr-recipes
 * [new branch]      homebrew   -> gr-recipes/homebrew
 * [new branch]      master     -> gr-recipes/master
Cloning into 'gr-recipes'...
warning: no common commits
remote: Enumerating objects: 40, done.
remote: Counting objects: 100% (40/40), done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 519 (delta 23), reused 13 (delta 6), pack-reused 479
Receiving objects: 100% (519/519), 100.12 KiB | 1.05 MiB/s, done.
Resolving deltas: 100% (344/344), done.
From https://github.com/gnuradio/gr-etcetera
 * [new branch]      master     -> gr-etcetera/master
Cloning into 'gr-etcetera'...

user@MACHINE MINGW64 /c
$ pybombs prefix init ~/gnuradio -R gnuradio-default
[INFO] Prefix Python version is: 3.7.5
[INFO] PyBOMBS Version 2.3.4a0
[INFO] Creating directory `C:\Users\bert\gnuradio'
[INFO] Prefix Python version is: 3.7.5
[INFO] Creating new config file C:\Users\bert\gnuradio\.pybombs\config.yml
[INFO] Prefix Python version is: 3.7.5
[INFO] Installing default packages for prefix...
[INFO]
  - gnuradio
[INFO] Phase 1: Creating install tree and installing binary packages:
[ERROR] Package has no install method: qt5

user@MACHINE MINGW64 /c
$

@geekbleek
Copy link

I got the same issue on MacOS BigSur

pybombs prefix init -R gnuradio-default
[INFO] Prefix Python version is: 3.9.4
[INFO] PyBOMBS Version 2.3.4
[INFO] Prefix Python version is: 3.9.4
[INFO] Creating new config file /Users/geekbleek/projects/hackrf/.pybombs/config.yml
[INFO] Prefix Python version is: 3.9.4
[INFO] Installing default packages for prefix...
[INFO]
  - gnuradio
[INFO] Phase 1: Creating install tree and installing binary packages:
[ERROR] Package has no install method: qt5

@ziyuanjun
Copy link

I got the same issue on Manjaro

sudo pybombs install gnuradio
[INFO] Prefix Python version is: 3.8.5
[INFO] PyBOMBS Version 2.3.4
[INFO] Phase 1: Creating install tree and installing binary packages:
[ERROR] Package has no install method: qt5

@marcidy
Copy link

marcidy commented Aug 27, 2021

So this is a work-around if you happen to have the exact same cause for this as I do, which happened to be specific to debian bullseye. The approach may help others. Basically the recipes are out of sync with official repos.

The qt5 recipe looks for 3 packages:
deb: libqt5opengl5-dev && libqt5svg5-dev && qt5-default

Specifically on debian bullseye, it looks like qt5-default was removed from the official stable repo.

looking at the file list from the qt5-default buster, it's got 3 whole files:
https://packages.debian.org/buster/qt5-default

/usr/lib/x86_64-linux-gnu/qtchooser/default.conf
/usr/share/doc/qt5-default/changelog.Debian.gz
/usr/share/doc/qt5-default/copyright

only the default.conf looks interesting.

Extracting the deb from buster, that file is just a symlink:

default.conf -> ../../../share/qtchooser/qt5-x86_64-linux-gnu.conf

So if you have the exact same problem as me (don't have qt5-default in repo) you can make the symlink yourself and then remove the dependency.

change the qt5 recipe and remove the qt5-default dependency.
deb: libqt5opengl5-dev && libqt5svg5-dev

Then run the install again.

@willcode
Copy link
Member

If you know of fix that works for all deb platforms, you can put in a PR for gr-recipes at
https://github.com/gnuradio/gr-recipes

@marcidy
Copy link

marcidy commented Aug 27, 2021

At the moment I can only confirm what I saw is a Debian bullseye (Debian 11) issue. qt5-default was in buster (Debian 10) but is not in bullseye (Debian 11). I can take a look at Ubuntu and rpi relatively easily.

I wouldn't be surprised if it's similar issue. The package just creates a symlink, and I am checking if the symlink is even necessary. But it depends on the distro's packaging being in-sync with the recipe. It doesn't look like the package was replaced, so it may even be an oversight in bullseye. I'll take a closer look but debugging other distro's packing is a bit of a pain.

It may help if people posted output from

$ pybombs -v -v -v -v install qt5

This would show which packages specifically (on which OS) were causing problems in the recipe and would allow more granular investigation on each platform.

@marcidy
Copy link

marcidy commented Aug 27, 2021

Ubuntu's bug report for the missed package may have the answer:
https://bugs.launchpad.net/ubuntu/+source/qtbase-opensource-src/+bug/1926802

Qt 4 was removed, Qt 5 is now default, so that package is no longer needed.

I believe this means the dependency is only required on (now) older distros.

So on newer versions of debian distros (which should now include stable and anything derived from stable), qt5-default is not needed.

However, I'm not sure if pybombs/gnuradio needs to support older distros, or how the recipes would do it.

I can submit the PR and see how the discussion goes from there.

@k-bx
Copy link

k-bx commented Jun 3, 2022

Why was this closed? Still getting this error on my macOS:

$ pybombs prefix init ~/tmp/gnuradio -R gnuradio-default
[INFO] Prefix Python version is: 3.9.13
[INFO] PyBOMBS Version 2.3.5
[WARNING] There already is a prefix in `/Users/kb/tmp/gnuradio'.
Continue using this path Y/[N]? Y
[INFO] Prefix Python version is: 3.9.13
[INFO] Prefix Python version is: 3.9.13
[INFO] Installing default packages for prefix...
[INFO]
  - gnuradio
[INFO] Phase 1: Creating install tree and installing binary packages:
[ERROR] Package has no install method: qt5

@mhenstell
Copy link

mhenstell commented Jun 15, 2022

Same error on macOS 11.6.7

@k-bx
Copy link

k-bx commented Jun 16, 2022

Created a #618 for macOS specific report that is still "open"

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

Successfully merging a pull request may close this issue.

9 participants