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

qutebrowser doesn't start #65290

Closed
pmiddend opened this issue Jul 23, 2019 · 14 comments · Fixed by #65895
Closed

qutebrowser doesn't start #65290

pmiddend opened this issue Jul 23, 2019 · 14 comments · Fixed by #65895

Comments

@pmiddend
Copy link
Contributor

pmiddend commented Jul 23, 2019

Describe the bug
qutebrowser doesn't start

To Reproduce
Steps to reproduce the behavior:

  1. Use the latest nixos-unstable
  2. Start qutebrowser

Expected behavior
qutebrowser starts

Screenshots
2019-07-23_08-27

Metadata

  • system: "x86_64-linux"
  • host os: Linux 4.19.60, NixOS, 19.09pre186326.62cb4f72282 (Loris)
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.2.2
  • channels(philipp): ""
  • channels(root): ""
  • nixpkgs: /nix/store/82bi282j8b6xx1gksqxjvrmwqh1mzwh4-source

Maintainer information:

# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:
@ghost
Copy link

ghost commented Jul 23, 2019

The issue is present since 2b28e4c
I will figure out what commit from staging it was, but for now my computer is busy compiling :)

@zimbatm
Copy link
Member

zimbatm commented Jul 23, 2019

maintainers: @jagajaga @rnhmjoj

@mmahut
Copy link
Member

mmahut commented Jul 23, 2019

Related to #65150

@FRidh
Copy link
Member

FRidh commented Jul 23, 2019

And #64984

@ghost
Copy link

ghost commented Aug 3, 2019

Thanks to @emmanuelrosa for this valuable piece of information:

Adding wrapQtAppsHook only address plugins, such as xcb, not loading. It does not address the missing PyQt5.QtQml module. According to a working build of qutebrowser, that module is actually missing from PyQt5. This can be seen by comparing the PyQt5 referenced by working and non-working builds of qutebrowser. In the working build you'll see the files QtQml.pyi and QtQml.so in `/nix/store/PyQt/lib/python*/site-packages/PyQt5/. In the non-working build those two files will not be present. In fact, I recall seeing other missing files, such as QtWebEngine.

I tried some stuff and it seems like since 2b28e4c the propagatedBuildInputs are somehow ignored and configure.py can not find webengine or qml, even when adding qtdeclarative to propagatedBuildInputs. I have no idea why, but only when I put them in nativeBuildInputs, configure.py can pick up those dependency and will produce a pyqt version with webengine and qml modules and qutebrowser will start successfully. I know this is wrong, so maybe someone can find the cause of this and a proper solution.

@ghost
Copy link

ghost commented Aug 3, 2019

https://github.com/petabyteboy/nixpkgs/commit/2958f22308fc132b5b8e571e84d750eb9551e1d3 fixes this, but it is not a proper fix.

@FRidh
Copy link
Member

FRidh commented Aug 3, 2019

Fix in #65836

emmanuelrosa added a commit to emmanuelrosa/nixpkgs that referenced this issue Aug 4, 2019
This hack, mentioned NixOS#65290,
forces PyQt to build with modules which have been missing;
such as QtWebEngine and QtQml.
@JonathanReeve
Copy link
Contributor

Does anyone know a way to work around this bug, and get a working Qutebrowser, without having to compile it?

@ghost
Copy link

ghost commented Aug 5, 2019

Does anyone know a way to work around this bug, and get a working Qutebrowser, without having to compile it?

You can install a qutebrowser version from an old nixpkgs revision to your user profile.
If you have cloned nixpkgs somewhere:

git checkout 2b28e4c~1 # one revision before it broke
nix-build . -A qutebrowser
nix-env -i result/

@JonathanReeve
Copy link
Contributor

@petabyteboy Cool, thanks. But doesn't that build the whole thing? Building a web browser like this takes several hours, no?

@worldofpeace
Copy link
Contributor

This package should have a binary cache now.

@rnhmjoj
Copy link
Contributor

rnhmjoj commented Aug 13, 2019

@petabyteboy Cool, thanks. But doesn't that build the whole thing? Building a web browser like this takes several hours, no?

Not really: the engine (QtWebEngine) does, but the browser itself is just a relatively small collections of python scripts, so it's pretty fast. QtWebEngine, being part of the base Qt package set should always be cached, even if you modify qutebrowser.

@ghost
Copy link

ghost commented Aug 13, 2019

When I installed the version mentioned above, it was still cached. Usually old packages are removed from the cache quite a while after they were replaced.
But as worldofpeace mentioned in current unstable qutebrowser should work just fine again.

@JonathanReeve
Copy link
Contributor

JonathanReeve commented Aug 18, 2019 via email

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

Successfully merging a pull request may close this issue.

7 participants