Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 673220 - dev-python/uranium depends on <dev-python/PyQt5-5.10
Summary: dev-python/uranium depends on <dev-python/PyQt5-5.10
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: 3D Printing Team
URL: https://github.com/Ultimaker/Cura/iss...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-12-16 00:11 UTC by Andreas Sturmlechner
Modified: 2019-08-06 17:49 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Sturmlechner gentoo-dev 2018-12-16 00:11:35 UTC
However, no such version of PyQt5 is in tree anymore, which makes it currently broken.

Please reconsider this dependency.
Comment 1 Andreas Sturmlechner gentoo-dev 2018-12-16 00:24:17 UTC
This version limitation was seemingly introduced in commit a8d750a27f38dead30108392b2194b49b7542271 without explaining why.
Comment 2 Davide Pesavento (RETIRED) gentoo-dev 2018-12-16 02:25:52 UTC
Furthermore, <PyQt5-5.10 doesn't build against current stable Qt (5.11), so effectively uranium could not be emerged on a fresh gentoo installation since the removal of Qt 5.9.x
Comment 3 Kjell Claesson 2018-12-16 10:33:48 UTC
It sure build against PyQt5-5.11.3. 
But the sip ebuild does not supply the private module PyQt5.

So PyQt5-5.11.3 fail. I patched the sip build and emerged 5.11.3 and
rebuilt the PyQt5 deps.
Then installed uranium 3.5.1 (shifting direction on the > to <PyQt5-5.10)

So now running cura-3.5.1.

https://pyqt.readthedocs.io/en/latest/installation.html#building-and-installing-from-source

Regards
Kjell
Comment 4 Kjell Claesson 2018-12-16 10:42:12 UTC
Sorry mixed place on the  > to <PyQt5-5.10 should be  < to >PyQt5-5.10
Comment 5 Andreas Sturmlechner gentoo-dev 2018-12-16 10:45:57 UTC
(In reply to Kjell Claesson from comment #4)
> Sorry mixed place on the  > to <PyQt5-5.10 should be  < to >PyQt5-5.10

uranium build system specifies >=5.6 so I don't see why any of this happened in the first place.
Comment 6 Larry the Git Cow gentoo-dev 2018-12-16 11:03:59 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6bd60f134e37151811e72ef844faf88ab9d6a101

commit 6bd60f134e37151811e72ef844faf88ab9d6a101
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2018-12-16 10:58:53 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2018-12-16 11:03:46 +0000

    dev-python/uranium: Drop arbitrary maximum PyQt5 version
    
    Non-maintainer commit to fix QA.
    
    Bug: https://bugs.gentoo.org/673220
    Package-Manager: Portage-2.3.52, Repoman-2.3.12
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 dev-python/uranium/uranium-3.3.0.ebuild | 4 ++--
 dev-python/uranium/uranium-3.4.1.ebuild | 4 ++--
 dev-python/uranium/uranium-3.5.1.ebuild | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)
Comment 7 Andreas Sturmlechner gentoo-dev 2018-12-16 11:06:04 UTC
Maintainers, please drop old versions if they are really broken by stable PyQt5.
Comment 8 Kjell Claesson 2018-12-16 11:08:40 UTC
The build system does but not the uranium.ebuild.

It states 
RDEPEND="${PYTHON_DEPS}
        ~dev-libs/libarcus-${PV}:=[python,${PYTHON_USEDEP}]
        <dev-python/PyQt5-5.10[${PYTHON_USEDEP},declarative,network,svg]
        dev-python/numpy[${PYTHON_USEDEP}]
        >=sci-libs/scipy-1.1[${PYTHON_USEDEP}]
        dev-qt/qtquickcontrols:5
        dev-qt/qtquickcontrols2:5"

BTW if the fix up the sip ebuild you need to patch the CMakeLists.txt in
libarcus and libsavitar. This is done by other distros, but i can supply the patches.

But it is simple, this is what the patch do:

 if(BUILD_PYTHON)
     set(SIP_EXTRA_FILES_DEPEND python/SocketListener.sip python/Types.sip python/PythonMessage.sip python/Error.sip)
     set(SIP_EXTRA_SOURCE_FILES python/PythonMessage.cpp)
-    set(SIP_EXTRA_OPTIONS -g) # -g means always release the GIL before calling C++ methods.
+    set(SIP_EXTRA_OPTIONS -g -n PyQt5.sip) # -g means always release the GIL before calling C++ methods.
     add_sip_python_module(Arcus python/Socket.sip Arcus)

Otherwise it would not find pyqt5.

Regards
Kjell
Comment 9 Andreas Sturmlechner gentoo-dev 2018-12-16 11:11:33 UTC
(In reply to Kjell Claesson from comment #8)
> The build system does but not the uranium.ebuild.
That's what this bug is about.

(In reply to Kjell Claesson from comment #8)
> BTW if the fix up the sip ebuild you need to patch the CMakeLists.txt in
> libarcus and libsavitar. This is done by other distros, but i can supply the
> patches.
dev-python/PyQt5-5.11.3 is currently masked for that reason.
Comment 10 Amy Liffey gentoo-dev 2018-12-16 20:02:20 UTC
Seems to be fixed.
Comment 11 Mathy Vanvoorden 2018-12-19 23:02:54 UTC
Well, I found out the hard way why I suspect the dependency was there, Cura crashes during startup for me whenever using PyQt5-5.10. After manually installing PyQt5-5.9.2 again it was solved for me.

Perhaps alexxy can comment if this is the same reason why he added the dependency.

Here's some references I came across while researching this:

Somebody with his own set of ebuilds experiencing the same thing I saw:
https://github.com/Ultimaker/Cura/issues/5010

A bug about some memory leak (which was fixed) in cura / PyQt5 which clearly talks about the issue being present in 5.10, but more importantly that they are not planning on supporting 5.10 or 5.11 in cura 3.6, no indication on future versions though:
https://github.com/Ultimaker/Cura/issues/4626

I am reopening this issue because, well, at the moment it doesn't work. Can we add 5.9.2 back to the tree but masked or something like that?
Comment 12 Andreas Sturmlechner gentoo-dev 2018-12-20 11:47:27 UTC
(In reply to Mathy Vanvoorden from comment #11)
> I am reopening this issue because, well, at the moment it doesn't work. Can
> we add 5.9.2 back to the tree but masked or something like that?
considering this:

(In reply to Davide Pesavento from comment #2)
> Furthermore, <PyQt5-5.10 doesn't build against current stable Qt (5.11), so
> effectively uranium could not be emerged on a fresh gentoo installation
> since the removal of Qt 5.9.x
you won't gain much by that. I recommend working with upstream on that, if they don't have a workaround nudge them to properly support their product.
Comment 13 Davide Pesavento (RETIRED) gentoo-dev 2018-12-20 17:37:29 UTC
(In reply to Davide Pesavento from comment #2)
> Furthermore, <PyQt5-5.10 doesn't build against current stable Qt (5.11), so
> effectively uranium could not be emerged on a fresh gentoo installation
> since the removal of Qt 5.9.x
Actually, I was partially wrong: the build fails only with USE=testlib, otherwise it seems to build fine here against Qt 5.11.3. So I would be ok with restoring PyQt5-5.9.2 in ~arch.
Comment 14 Mathy Vanvoorden 2018-12-20 23:04:49 UTC
It also installed without issues for me with following use flags:

[ebuild     U  ] dev-python/PyQt5-5.10.1-r1::gentoo [5.9.2::mathy] USE="bluetooth dbus declarative gui network opengl printsupport svg widgets -debug -designer -examples (-gles2) -help -location -multimedia -positioning -sensors -serialport -sql -testlib -webchannel -webengine -webkit -websockets -x11extras -xmlpatterns" PYTHON_TARGETS="python2_7 python3_6 -python3_4 -python3_5 (-python3_7)"

So perhaps mask the testlib use flag then if that is giving issues?
Comment 15 Larry the Git Cow gentoo-dev 2018-12-22 18:59:48 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1489962f13e598a86e2a2d94fe4ea7c03a2dc224

commit 1489962f13e598a86e2a2d94fe4ea7c03a2dc224
Author:     Davide Pesavento <pesa@gentoo.org>
AuthorDate: 2018-12-22 18:56:56 +0000
Commit:     Davide Pesavento <pesa@gentoo.org>
CommitDate: 2018-12-22 18:59:37 +0000

    dev-python/PyQt5: restore 5.9.2 (~amd64 and ~x86 only)
    
    Bug: https://bugs.gentoo.org/673220#c11
    Package-Manager: Portage-2.3.52, Repoman-2.3.12
    Signed-off-by: Davide Pesavento <pesa@gentoo.org>

 dev-python/PyQt5/Manifest           |   1 +
 dev-python/PyQt5/PyQt5-5.9.2.ebuild | 198 ++++++++++++++++++++++++++++++++++++
 2 files changed, 199 insertions(+)
Comment 16 Larry the Git Cow gentoo-dev 2018-12-22 19:28:37 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8d19750cb4f18cbef9d44ca0546824ddd1ef638

commit b8d19750cb4f18cbef9d44ca0546824ddd1ef638
Author:     Davide Pesavento <pesa@gentoo.org>
AuthorDate: 2018-12-22 19:27:11 +0000
Commit:     Davide Pesavento <pesa@gentoo.org>
CommitDate: 2018-12-22 19:28:28 +0000

    dev-python/uranium: revert "Drop arbitrary maximum PyQt5 version"
    
    This reverts commit 6bd60f134e37151811e72ef844faf88ab9d6a101.
    
    Bug: https://bugs.gentoo.org/673220#c11
    Package-Manager: Portage-2.3.52, Repoman-2.3.12
    Signed-off-by: Davide Pesavento <pesa@gentoo.org>

 dev-python/uranium/uranium-3.3.0.ebuild | 2 +-
 dev-python/uranium/uranium-3.4.1.ebuild | 2 +-
 dev-python/uranium/uranium-3.5.1.ebuild | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
Comment 17 Andreas Sturmlechner gentoo-dev 2018-12-22 20:30:25 UTC
Please keep this bug open until this has been fixed upstream.
Comment 18 MasterPrenium 2019-02-13 13:16:17 UTC
I'm also not able to start cura 3.6.0 with dev-python/PyQt5-5.10.1-r1. After downgrading to dev-python/PyQt5-5.9.2, cura is perfectly working.
Comment 19 Andreas Sturmlechner gentoo-dev 2019-08-06 17:49:14 UTC
(In reply to MasterPrenium from comment #18)
> I'm also not able to start cura 3.6.0 with dev-python/PyQt5-5.10.1-r1. After
> downgrading to dev-python/PyQt5-5.9.2, cura is perfectly working.
This is contrary to upstream claiming bug fixed with >=cura-3.6.0, if you have issues with current stable PyQt5 (that is 5.12.2) then please raise that upstream.

Last version of uranium depending on <PyQt5-5.10 was dropped in d4a38d530f63ea46b918e8604ff500ae1be25030 and consequently PyQt5-5.9.2 was dropped in 236d29d377cdfccc0ab9077d856bc75a9ddf44d3, so this bug is obsolete.