Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 763849 - dev-python/matplotlib with media-libs/qhull-2020.2: cannot find -lqhull
Summary: dev-python/matplotlib with media-libs/qhull-2020.2: cannot find -lqhull
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Science Related Packages
URL: https://github.com/matplotlib/matplot...
Whiteboard:
Keywords:
: 763894 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-01-05 12:24 UTC by Kobboi
Modified: 2021-01-06 01:04 UTC (History)
13 users (show)

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


Attachments
build.log (build.log,133.50 KB, text/plain)
2021-01-05 12:26 UTC, Kobboi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kobboi 2021-01-05 12:24:00 UTC
building 'matplotlib._qhull' extension
x86_64-pc-linux-gnu-gcc -O2 -march=x86-64 -pipe -fomit-frame-pointer -g -ggdb -fno-strict-aliasing -DNDEBUG -fPIC -DMPL_DEVNULL=/dev/null -DPY_ARRAY_UNIQUE_SYMBOL=MPL_matplotlib__qhull_ARRAY_API -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -D__STDC_FORMAT_MACROS=1 -I/usr/lib/python3.7/site-packages/numpy/core/include -I/usr/include/python3.7m -c src/qhull_wrap.c -o /var/tmp/portage/dev-python/matplotlib-3.3.3-r1/work/matplotlib-3.3.3-python3_7/build/temp.linux-x86_64-3.7/src/qhull_wrap.o -fvisibility=hidden
x86_64-pc-linux-gnu-gcc -shared -Wl,-O1 -Wl,--as-needed -O2 -march=x86-64 -pipe -fomit-frame-pointer -g -ggdb -fno-strict-aliasing -DNDEBUG /var/tmp/portage/dev-python/matplotlib-3.3.3-r1/work/matplotlib-3.3.3-python3_7/build/temp.linux-x86_64-3.7/src/qhull_wrap.o -L/usr/lib64 -lqhull -lpython3.7m -o /var/tmp/portage/dev-python/matplotlib-3.3.3-r1/work/matplotlib-3.3.3-python3_7/build/lib/matplotlib/_qhull.cpython-37m-x86_64-linux-gnu.so
/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lqhull
collect2: error: ld returned 1 exit status


Reproducible: Always
Comment 1 Kobboi 2021-01-05 12:26:12 UTC
Created attachment 681274 [details]
build.log
Comment 2 Kobboi 2021-01-05 12:31:46 UTC
qhull-2015.2:

/usr/lib64/libqhull.so -> libqhull.so.7
/usr/lib64/libqhull.so.7 -> libqhull.so.7.2.0
/usr/lib64/libqhull.so.7.2.0
/usr/lib64/libqhull_p.so -> libqhull_p.so.7
/usr/lib64/libqhull_p.so.7 -> libqhull_p.so.7.2.0
/usr/lib64/libqhull_p.so.7.2.0
/usr/lib64/libqhull_r.so -> libqhull_r.so.7
/usr/lib64/libqhull_r.so.7 -> libqhull_r.so.7.2.0
/usr/lib64/libqhull_r.so.7.2.0


qhull-2020.2:

/usr/lib64/libqhull.so.7 -> libqhull.so.7.2.0
/usr/lib64/libqhull.so.7.2.0
/usr/lib64/libqhull_r.so -> libqhull_r.so.8.0
/usr/lib64/libqhull_r.so.8.0 -> libqhull_r.so.8.0.2
/usr/lib64/libqhull_r.so.8.0.2

Looks like at least a missing /usr/lib64/libqhull.so symlink?
Comment 3 Ionen Wolkens gentoo-dev 2021-01-05 13:10:09 UTC
(In reply to Kobboi from comment #2)
> qhull-2020.2:
> /usr/lib64/libqhull.so.7 -> libqhull.so.7.2.0
> /usr/lib64/libqhull.so.7.2.0
> Looks like at least a missing /usr/lib64/libqhull.so symlink?
These are preserved libs, it doesn't install non-_r libqhull.so.* at all from what I can see.

I see a few issues from a quick look:
- soname changed
- qhull has no subslot for matplotlib to use
- "libqhull -- Deprecated, shared library for non-reentrant Qhull (use libqhull_r or libqhullstatic)", from qhull's CMakeLists.txt
- all in-tree versions of matplotlib are using the deprecated library

For now I suggest to just stick to qhull-2015.2 until sorted out. Oh and, next time, please include emerge --info too.
Comment 4 Ionen Wolkens gentoo-dev 2021-01-05 14:22:25 UTC
*** Bug 763894 has been marked as a duplicate of this bug. ***
Comment 5 Ionen Wolkens gentoo-dev 2021-01-05 14:35:23 UTC
Reading:
https://github.com/qhull/qhull/blob/master/src/libqhull/DEPRECATED.txt

Not ideal but sounds like the old library can still be used if really needed.
Comment 6 Gary E. Miller 2021-01-05 22:42:58 UTC
I can confirm the bug.  I masked qhull 2020.2.  Emerged qhull 2015.2 and then  emerge matplotlib worked again.
Comment 7 Martin Rapavý 2021-01-05 23:01:37 UTC
(In reply to Ionen Wolkens from comment #5)
> Reading:
> https://github.com/qhull/qhull/blob/master/src/libqhull/DEPRECATED.txt
> 
> Not ideal but sounds like the old library can still be used if really needed.

Or perhaps, as a reasonable compromise, bump the version to 2019.1, which still works.
Comment 8 Larry the Git Cow gentoo-dev 2021-01-05 23:44:26 UTC
The bug has been referenced in the following commit(s):

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

commit c3fcbd23103eee2e1e2d28e7e7c65688a416cd09
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2021-01-05 23:37:11 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2021-01-05 23:44:22 +0000

    dev-python/matplotlib: subscribe to media-libs/qhull subslot
    
    Bug: https://bugs.gentoo.org/763849
    Package-Manager: Portage-3.0.12, Repoman-3.0.2
    Signed-off-by: Sam James <sam@gentoo.org>

 dev-python/matplotlib/matplotlib-3.2.2-r2.ebuild | 4 ++--
 dev-python/matplotlib/matplotlib-3.3.0-r1.ebuild | 4 ++--
 dev-python/matplotlib/matplotlib-3.3.2.ebuild    | 4 ++--
 dev-python/matplotlib/matplotlib-3.3.3-r1.ebuild | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)
Comment 9 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-01-05 23:56:21 UTC
We can expose the deprecated library as Arch has (I was reluctant at first but then I saw it'll be supported indefinitely): https://github.com/archlinux/svntogit-packages/commit/13e306e999def5c54614fa28b041181bdbb81a56#diff-3e341d2d9c67be01819b25b25d5e53ea3cdf3a38d28846cda85a195eb9b7203a.

I just need to figure out how to properly build an extra target with cmake.eclass.
Comment 10 Larry the Git Cow gentoo-dev 2021-01-06 01:04:22 UTC
The bug has been closed via the following commit(s):

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

commit fc06ac4f45b0b6d2a6316e1e791067555d43c292
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2021-01-06 00:10:47 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2021-01-06 00:10:47 +0000

    media-libs/qhull: install deprecated libqhull
    
    matplotlib (and other consumers) still need this.
    
    Thanks-to: Arfrever (for the hint on how to invoke it properly)
    Closes: https://bugs.gentoo.org/763849
    Package-Manager: Portage-3.0.12, Repoman-3.0.2
    Signed-off-by: Sam James <sam@gentoo.org>

 .../qhull/{qhull-2020.2-r1.ebuild => qhull-2020.2-r2.ebuild}   | 10 ++++++++++
 1 file changed, 10 insertions(+)