Summary: | dev-python/matplotlib-2.1.0-r1 - required package gtk3agg can not be built | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Thomas Deutschmann (RETIRED) <whissi> |
Component: | Current packages | Assignee: | Gentoo Science Related Packages <sci> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | frp.bissey, gentoo, Hloupy.Honza, python, ulenrich |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log |
Description
Thomas Deutschmann (RETIRED)
2018-01-06 02:08:47 UTC
MAKEOPTS=-j1, maybe? From the log: gtk3agg: no [Check timed out] From setupext.py, the default timeout is 10 seconds. I wonder if this was a fluke. Let's unblock the stable request and see if any other arch testers hit this. Passes with -j1. The build process doesn't call emake at all; it's always single-threaded. This was probably a one-off failure. dev-python/matplotlib depends on x11-libs/agg but does not state that. It builds for those who have x11-libs/agg installed but does not pull the library in for those who have not installed it before. To reproduce the build failure, make sure x11-libs/agg is not installed, and try emerging dev-python/matplotlib. Moreover, at least at first glance, the dependency seems to be conditional upstream but is set unconditionally in the ebuild. The ebuild definitely should declare x11-libs/agg as its dependency. In addition it could possibly be enhanced by making the dependency optional (I have not tested if configuring the package without agg and compiling it so is actually posible). I have issues with the statement that matplotlib depends on x11-libs/agg unconditionally. For starter I have matplotlib installed and x11-libs/agg appear to never have been on this system. For ages matplotlib has built its own version of agg which is forked from x11-libs/agg. Considering the issue, I would be happy to consider that x11-libs/agg may need to be a conditional dependency when gtk3 is in USE. Which is not the case on my system. (In reply to François Bissey from comment #7) > I have issues with the statement that matplotlib depends on x11-libs/agg > unconditionally. For starter I have matplotlib installed and x11-libs/agg > appear to never have been on this system. Reminds me of good scientific practice: never jump to conclusions. So what I really observed: 1) During a system upgrade, dev-python/matplotlib-2.1.2-r1 failed to build on my computer complaining about gtk3agg. 2) There is a package called x11-libs/agg, not installed on my system at that time. 3) The ebuild for dev-python/matplotlib does not declare x11-libs/agg as its dependency. 4) The ebuild for dev-python/matplotlib sets several configuration parameters unconditionally to use agg. 5) There is a patch ${P}-unbundle-agg.patch (but as I see now, its application is commented out). I did not pay much attention to this (not even noticing the patch is not actually applied), just registering the name of the patch passing by, and remembering reassuringly that preventing the installation of bundled libraries in favour of the use of systemwide installed ones is standard Gentoo practice. Interestingly I had dev-python/matplotlib installed before; unfortunately, again against good scientific practice, I did not note the version number of the previous installation. Neither did I investigate what exactly could have changed between versions. Having found there was not installed x11-libs/agg on my system, I looked a bit in the matplotlib ebuild why it might have omitted to request installation of its dependency, tried installing x11-libs/agg, upgraded matplotlib successfully then, and went to bugzilla to report the problem and request the dependency declaration in the matplotlib ebuild. Realising the ebuild does not actually prevent the installation of the bundled agg library explains a lot. This leads me to a speculation that there is probably something in the 2.1.2-r1 version that the bundled agg fails to do for gtk3, while the system x11-libs/agg does it well. Is it, perhaps, time to really unbundle agg from matplotlib? (In reply to Honza Macháček from comment #8) > (In reply to François Bissey from comment #7) > > I have issues with the statement that matplotlib depends on x11-libs/agg > > unconditionally. For starter I have matplotlib installed and x11-libs/agg > > appear to never have been on this system. > > Reminds me of good scientific practice: never jump to conclusions. > You are welcome. > So what I really observed: > > 1) During a system upgrade, dev-python/matplotlib-2.1.2-r1 failed to build > on my computer complaining about gtk3agg. > > 2) There is a package called x11-libs/agg, not installed on my system at > that time. > > 3) The ebuild for dev-python/matplotlib does not declare x11-libs/agg as its > dependency. > > 4) The ebuild for dev-python/matplotlib sets several configuration > parameters unconditionally to use agg. > > 5) There is a patch ${P}-unbundle-agg.patch (but as I see now, its > application is commented out). I did not pay much attention to this (not > even noticing the patch is not actually applied), just registering the name > of the patch passing by, and remembering reassuringly that preventing the > installation of bundled libraries in favour of the use of systemwide > installed ones is standard Gentoo practice. > > Interestingly I had dev-python/matplotlib installed before; unfortunately, > again against good scientific practice, I did not note the version number of > the previous installation. Neither did I investigate what exactly could have > changed between versions. You should install genlop, it can help a bit by parsing emerge's log file. It does not, however, help with figuring out your change of useflags and such. But thinking about that and your mention of scientific method, it could be interesting to track /etc/portage with git (or your VCS of choice). >Having found there was not installed x11-libs/agg > on my system, I looked a bit in the matplotlib ebuild why it might have > omitted to request installation of its dependency, tried installing > x11-libs/agg, upgraded matplotlib successfully then, and went to bugzilla to > report the problem and request the dependency declaration in the matplotlib > ebuild. > > Realising the ebuild does not actually prevent the installation of the > bundled agg library explains a lot. This leads me to a speculation that > there is probably something in the 2.1.2-r1 version that the bundled agg > fails to do for gtk3, while the system x11-libs/agg does it well. > > Is it, perhaps, time to really unbundle agg from matplotlib? That's one of the cases where unbundling is not helpful because the copy used in the software is not just a copy of upstream but a fork. A fork with changes that may be incompatible with other dependencies of the package or otherwise make it unusable. This is not really fixed. Today I run into this problem again while installing this package as dep for another package. On second retry it failed again. However, third attempt passed. I don't know what's going on, if this depends on system load, but the build system has definitely a problem. *** Bug 684970 has been marked as a duplicate of this bug. *** Due to my investigation in bug https://bugs.gentoo.org/684970 it is just a missing depend x11-libs/agg This bug not everytime happens, because when emerge is done with activated matplot USE wxwidgets then x11-libs/agg gets pulled indirectly File a new bug if problem persists. |