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

pythonPackages.pyqt5 is broken on master #17045

Closed
FRidh opened this issue Jul 17, 2016 · 7 comments
Closed

pythonPackages.pyqt5 is broken on master #17045

FRidh opened this issue Jul 17, 2016 · 7 comments

Comments

@FRidh
Copy link
Member

FRidh commented Jul 17, 2016

Issue description

pyqt5 is broken on master.

While I didn't let it finish, it did seem to build on 5e5165e that is, before some changes by @ttuegel.

Steps to reproduce

$ nix-shell -p python35Packages.pyqt5 -I nixpkgs=.
these derivations will be built:
  /nix/store/dqbdd8fl5dhc6jshfzvz3hq4xfm39ixr-python3.5-PyQt-5.5.1.drv
building path(s) ‘/nix/store/y6qf6k25d53lgh3dncin48l9g92mvy32-python3.5-PyQt-5.5.1’
unpacking sources
unpacking source archive /nix/store/c962n5b434y99k11rmmp4vg96nwp5kkl-PyQt-gpl-5.5.1.tar.gz
source root is PyQt-gpl-5.5.1
setting SOURCE_DATE_EPOCH to timestamp 1445773362 of file PyQt-gpl-5.5.1/doc/html/signals_slots.html
patching sources
configuring
/nix/store/c9b2l1hykl4mabgw53rk2z76d5q05vrm-dbus-python-1.2.4/share:
/nix/store/c9b2l1hykl4mabgw53rk2z76d5q05vrm-dbus-python-1.2.4/share/doc:
/nix/store/c9b2l1hykl4mabgw53rk2z76d5q05vrm-dbus-python-1.2.4/share/doc/dbus-python:
/nix/store/c9b2l1hykl4mabgw53rk2z76d5q05vrm-dbus-python-1.2.4/include:
/nix/store/c9b2l1hykl4mabgw53rk2z76d5q05vrm-dbus-python-1.2.4/include/dbus-1.0:
/nix/store/c9b2l1hykl4mabgw53rk2z76d5q05vrm-dbus-python-1.2.4/include/dbus-1.0/dbus:
/nix/store/c9b2l1hykl4mabgw53rk2z76d5q05vrm-dbus-python-1.2.4/lib:
/nix/store/c9b2l1hykl4mabgw53rk2z76d5q05vrm-dbus-python-1.2.4/lib/pkgconfig:
/nix/store/c9b2l1hykl4mabgw53rk2z76d5q05vrm-dbus-python-1.2.4/lib/python3.5:
/nix/store/c9b2l1hykl4mabgw53rk2z76d5q05vrm-dbus-python-1.2.4/lib/python3.5/site-packages:
/nix/store/c9b2l1hykl4mabgw53rk2z76d5q05vrm-dbus-python-1.2.4/lib/python3.5/site-packages/dbus:
/nix/store/c9b2l1hykl4mabgw53rk2z76d5q05vrm-dbus-python-1.2.4/lib/python3.5/site-packages/dbus/__pycache__:
/nix/store/c9b2l1hykl4mabgw53rk2z76d5q05vrm-dbus-python-1.2.4/lib/python3.5/site-packages/dbus/mainloop:
/nix/store/c9b2l1hykl4mabgw53rk2z76d5q05vrm-dbus-python-1.2.4/lib/python3.5/site-packages/dbus/mainloop/__pycache__:
Error: Failed to determine the detail of your Qt installation. Try again using
the --verbose flag to see more detail about the problem.
Querying qmake about your Qt installation...
Determining the details of your Qt installation...
/nix/store/517s8rgjl7yda8s3kfzlxnp0zapsix13-qtbase-5.5.1-dev/bin/qmake -o qtdetail.mk qtdetail.pro
Could not find qmake configuration file linux-g++.
Error processing project file: qtdetail.pro
builder for ‘/nix/store/dqbdd8fl5dhc6jshfzvz3hq4xfm39ixr-python3.5-PyQt-5.5.1.drv’ failed with exit code 1
error: build of ‘/nix/store/dqbdd8fl5dhc6jshfzvz3hq4xfm39ixr-python3.5-PyQt-5.5.1.drv’ failed
/run/current-system/sw/bin/nix-shell: failed to build all dependencies

Technical details

@ttuegel
Copy link
Member

ttuegel commented Jul 17, 2016

The qmake binary the builder detects, /nix/store/517s8rgjl7yda8s3kfzlxnp0zapsix13-qtbase-5.5.1-dev/bin/qmake, is not the correct one. pyqt5 should depend on qmakeHook, this is probably the cause of the error.

@FRidh
Copy link
Member Author

FRidh commented Jul 17, 2016

I am not familiar with qmakehook. It is already a buildInput of pyqt5.
There is a configure option to specify a specific qmake

--qmake
Qt’s qmake program is used to determine how your Qt installation is laid out. Normally qmake is found on your PATH. This option can be used to specify a particular instance of qmake to use.

@ttuegel
Copy link
Member

ttuegel commented Jul 17, 2016

Normally qmake is found on your PATH.

This is not correct. Qt specifies that it should be found from the environment variable $QMAKE first. I expect you need to pass --qmake $QMAKE to your configure script.

@FRidh
Copy link
Member Author

FRidh commented Jul 17, 2016

Is a qmake in a tmp folder correct?
Ah yes, its created during the build.

Error: Failed to determine the detail of your Qt installation. Try again using
the --verbose flag to see more detail about the problem.
Querying qmake about your Qt installation...
Determining the details of your Qt installation...
/tmp/nix-build-python3.5-PyQt-5.5.1.drv-0/tmp.lCVdYMDn0I/bin/qmake -o qtdetail.mk qtdetail.pro
Could not find qmake configuration file linux-g++.
Error processing project file: qtdetail.pro
builder for ‘/nix/store/d1va4yd70akmvqwlknsy25kf8c7rqlhn-python3.5-PyQt-5.5.1.drv’ failed with exit code 1
error: build of ‘/nix/store/d1va4yd70akmvqwlknsy25kf8c7rqlhn-python3.5-PyQt-5.5.1.drv’ failed

@ttuegel
Copy link
Member

ttuegel commented Jul 17, 2016

Yes, that is the correct qmake.

@FRidh
Copy link
Member Author

FRidh commented Jul 19, 2016

$ echo $(QMAKE -query)
QT_SYSROOT: QT_INSTALL_PREFIX:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2 QT_INSTALL_ARCHDATA:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2 QT_INSTALL_DATA:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2 QT_INSTALL_DOCS:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2/share/doc/qt5 QT_INSTALL_HEADERS:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2/include QT_INSTALL_LIBS:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2/lib QT_INSTALL_LIBEXECS:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2/libexec QT_INSTALL_BINS:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2/bin QT_INSTALL_TESTS:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2/tests QT_INSTALL_PLUGINS:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2/lib/qt5/plugins QT_INSTALL_IMPORTS:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2/lib/qt5/imports QT_INSTALL_QML:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2/lib/qt5/qml QT_INSTALL_TRANSLATIONS:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2/translations QT_INSTALL_CONFIGURATION:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2 QT_INSTALL_EXAMPLES:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2/examples QT_INSTALL_DEMOS:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2/examples QT_HOST_PREFIX:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2 QT_HOST_DATA:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2 QT_HOST_BINS:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2/bin QT_HOST_LIBS:/tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2/lib QMAKE_SPEC:linux-g++ QMAKE_XSPEC:linux-g++ QMAKE_VERSION:3.0 QT_VERSION:5.5.1

Shouldn't this be a path?
QMAKE_XSPEC:linux-g++

@ttuegel
Copy link
Member

ttuegel commented Jul 19, 2016

Shouldn't this be a path?

It is a path relative to /tmp/nix-build-python3.5-PyQt-5.6.drv-0/tmp.gobMYXvQi2/mkspecs. I reproduced this build locally and found out that directory is not being populated! I will have to investigate further.

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

No branches or pull requests

2 participants