Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 680176 - >=dev-python/matplotlib-2.2.2 uses an internal copy of qhull instead of installed media-libs/qhull
Summary: >=dev-python/matplotlib-2.2.2 uses an internal copy of qhull instead of insta...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Science Related Packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: bundled-libs
  Show dependency tree
 
Reported: 2019-03-12 22:33 UTC by François Bissey
Modified: 2020-01-26 01:19 UTC (History)
4 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 François Bissey 2019-03-12 22:33:41 UTC
This is because the way matplotlib's setupext.py has changed the detection of qhull compared to previous versions. The message from matplotlib about qhull is
                 qhull: yes [pkg-config information for 'libqhull' could not
                        be found. Using local copy.]

So matplotlib is using pkg-config to detect qhull but our current qhull ebuild doesn't install any .pc files. It is possibly a debian addition.

Reproducible: Always
Comment 1 François Bissey 2019-03-14 00:36:39 UTC
It looks like fedora used to produce .pc file for qhull but they have stopped to include them around fedora 25.
There are .pc.in files on the github repo (in the build folder) but for some reason they are not included in the tarball we have, and according to time stamps they should have been. qhull's README.txt encourage packagers to distribute .pc files but no tools is given to produce them.

I think matplotlib erred on that change to qhull detection.
Comment 2 François Bissey 2019-03-14 00:48:56 UTC
I note that matplotlib master branch (3+) has just decided to vendor qhull:
        # Qhull doesn't distribute pkg-config info, so we have no way of
        # knowing whether a system install is recent enough.  Thus, always use
        # the vendored version.
But the 2.2.x maintenance branch is still looking for .pc file.
Comment 3 Ștefan Talpalaru 2019-12-29 17:52:55 UTC
Fixed by media-libs/qhull-2019.1 from my overlay: https://github.com/stefantalpalaru/gentoo-overlay

It adds and installs a "libqhull.pc" file that matplotlib-2.2.4 manages to find.
Comment 4 Larry the Git Cow gentoo-dev 2020-01-26 01:19:11 UTC
The bug has been closed via the following commit(s):

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

commit e099f966bfcfe82d06cf946568d6874ff37e1be4
Author:     Benda Xu <heroxbd@gentoo.org>
AuthorDate: 2020-01-26 01:13:40 +0000
Commit:     Benda Xu <heroxbd@gentoo.org>
CommitDate: 2020-01-26 01:19:01 +0000

    dev-python/matplotlib: bump to 3.1.2.
    
      - Unbundle qhull.
      - Depend on pyobject:3[cairo] for USE="gtk3 cairo".
      - p/arch/arm64/package.use.mask: mask USE=wxwidgets
        dev-python/wxpython does not have arm64 keyword.
    
    Closes: https://bugs.gentoo.org/671796
    Closes: https://bugs.gentoo.org/680176
    Closes: https://bugs.gentoo.org/665560
    Package-Manager: Portage-2.3.79, Repoman-2.3.18
    Signed-off-by: Benda Xu <heroxbd@gentoo.org>

 dev-python/matplotlib/Manifest                     |   1 +
 .../matplotlib-3.1.2-no-jqueryui-download.patch    |  15 ++
 .../matplotlib/files/matplotlib-3.1.2-qhull.patch  |  20 ++
 dev-python/matplotlib/matplotlib-3.1.2.ebuild      | 244 +++++++++++++++++++++
 profiles/arch/arm64/package.use.mask               |   4 +
 5 files changed, 284 insertions(+)