Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 947136 - dev-python/pillow: automagic dep on x11-libs/libxcb? (was: media-sound/whipper-0.10.0-r3: needs dev-python/pillow[xcb])
Summary: dev-python/pillow: automagic dep on x11-libs/libxcb? (was: media-sound/whippe...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2024-12-28 18:31 UTC by tea
Modified: 2024-12-29 12:24 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 tea 2024-12-28 18:31:29 UTC
whipper depends on x11-libs/libxcb for adding cover art to music files

output from `whipper cd rip --cover-art complete`:

> Traceback (most recent call last):                 
>   File "/usr/lib/python3.12/site-packages/whipper/extern/task/task.py", line 523, in c
>     callable_task(*args, **kwargs)
>   File "/usr/lib/python3.12/site-packages/whipper/common/encode.py", line 155, in _embed_picture
>     flac_pic = self._make_flac_picture(self.cover_art_path)
>                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3.12/site-packages/whipper/common/encode.py", line 120, in _make_flac_picture
>     from PIL import Image                                                                                                                              
>   File "/usr/lib/python3.12/site-packages/PIL/Image.py", line 97, in <module>                                              
>     from . import _imaging as core
> ImportError: libxcb.so.1: cannot open shared object file: No such file or directory
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-12-28 18:35:20 UTC
That looks like it needs pillow[xcb]. But it's not clear to me what happened here -- does pillow maybe have an automagic dep on libxcb?

Did you use a binpkg of pillow?
Comment 2 tea 2024-12-28 18:55:44 UTC
(In reply to Sam James from comment #1)
> That looks like it needs pillow[xcb]. But it's not clear to me what happened
> here -- does pillow maybe have an automagic dep on libxcb?
> 
> Did you use a binpkg of pillow?

i have dev-python/pillow[jpeg,zlib] installed as a binpkg here, without xcb USE-flag. x11-libs/libxcb was never installed until i did it manually today. (and with that whipper works)
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-12-29 05:17:30 UTC
The issue is that it's failing seemingly as soon as PIL (pillow) gets imported, which implies that the pillow binary you had has an ELF dependency on libxcb.so.1, which is wrong if you had pillow[-xcb].

I don't think this is whipper needing it, I think this is pillow being broken somehow (automagic dep).
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-12-29 05:18:40 UTC
Looking at the Packages index on the binhost:
```
BUILD_TIME: 1734784816
CPV: dev-python/pillow-11.0.0-r1
DEFINED_PHASES: compile configure install prepare test
DEPEND: media-libs/libjpeg-turbo:0/0.2= sys-libs/zlib:0/1= dev-lang/python:3.12[threads(+)] dev-lang/python:3.13[threads(+)]
EAPI: 8
IUSE: examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib test python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 debug test
KEYWORDS: ~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos
LICENSE: HPND
MD5: d1725da6f4f981148ae3a17fc42bbeab
PATH: dev-python/pillow/pillow-11.0.0-r1-4.gpkg.tar
PROVIDES: x86_64: _imaging.cpython-312-x86_64-linux-gnu.so _imaging.cpython-313-x86_64-linux-gnu.so _imagingcms.cpython-312-x86_64-linux-gnu.so _imagingcms.cpython-313-x86_64-linux-gnu.so _imagingft.cpython-312-x86_64-linux-gnu.so _imagingft.cpython-313-x86_64-linux-gnu.so _imagingmath.cpython-312-x86_64-linux-gnu.so _imagingmath.cpython-313-x86_64-linux-gnu.so _imagingmorph.cpython-312-x86_64-linux-gnu.so _imagingmorph.cpython-313-x86_64-linux-gnu.so _imagingtk.cpython-312-x86_64-linux-gnu.so _imagingtk.cpython-313-x86_64-linux-gnu.so
RDEPEND: media-libs/libjpeg-turbo:0/0.2= sys-libs/zlib:0/1= dev-python/olefile[python_targets_python3_12(-),python_targets_python3_13(-)] dev-lang/python:3.12[threads(+)] dev-lang/python:3.13[threads(+)] >=sys-libs/glibc-2.40-r5
REQUIRES: x86_64: libc.so.6 libfreetype.so.6 libjpeg.so.62 liblcms2.so.2 libopenjp2.so.7 libtiff.so.6 libxcb.so.1 libz.so.1
RESTRICT: test test test
SHA1: caf5280ca7ca2c683b85ad639a00eefad2467e1e
SIZE: 1095680
USE: abi_x86_64 amd64 elibc_glibc jpeg kernel_linux python_targets_python3_12 python_targets_python3_13 zlib
MTIME: 1734798127
REPO: gentoo
```

xcb is NOT in USE there, but libxcb.so.1 appears in REQUIRES.
Comment 6 Larry the Git Cow gentoo-dev 2024-12-29 12:24:41 UTC
The bug has been closed via the following commit(s):

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

commit 82b2f03f2c9f3a1fdba926bcaad205c295bef29d
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2024-12-29 12:23:41 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-12-29 12:23:41 +0000

    dev-python/pillow: backport fix for automagic deps
    
    Straight to stable given it's pretty nasty and a trivial fix.
    
    Closes: https://bugs.gentoo.org/947136
    Signed-off-by: Sam James <sam@gentoo.org>

 .../files/pillow-11.0.0-automagic-disable.patch    |  26 ++++
 dev-python/pillow/pillow-11.0.0-r2.ebuild          | 151 +++++++++++++++++++++
 2 files changed, 177 insertions(+)