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
Created attachment 681274 [details] build.log
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?
(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.
*** Bug 763894 has been marked as a duplicate of this bug. ***
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.
I can confirm the bug. I masked qhull 2020.2. Emerged qhull 2015.2 and then emerge matplotlib worked again.
(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.
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(-)
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.
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(+)