emerging sys-apps/fwupd-1.9.18 USE="amt archive gnutls gusb nvme sqlite systemd uefi" failes in configure phase with the message plugins/uefi-capsule/meson.build:129:4: ERROR: Problem encountered: Error: missing dependency python cairo (python3-cairo) removing the USE="uefi" does emerge properly. dev-python/pycairo-1.26.0 is installed
# emerge --info Portage 3.0.63 (python 3.11.9-final-0, default/linux/amd64/23.0/systemd, gcc-13, glibc-2.38-r13, 6.6.30-gentoo-dist x86_64) ================================================================= System uname: Linux-6.6.30-gentoo-dist-x86_64-Intel-R-_Core-TM-_i3-8100_CPU_@_3.60GHz-with-glibc2.38 KiB Mem: 3744868 total, 2046032 free KiB Swap: 8388604 total, 8388348 free Timestamp of repository gentoo: Fri, 17 May 2024 17:00:00 +0000 Head commit of repository gentoo: 6755a6f4f76c34027d1c0654e7ced0629194b437 Head commit of repository md-private: bfbd288f779aa65ebfb462a03ae847f1665bda5c sh bash 5.1_p16-r6 ld GNU ld (Gentoo 2.42 p3) 2.42.0 app-misc/pax-utils: 1.3.7::gentoo app-shells/bash: 5.1_p16-r6::gentoo dev-build/autoconf: 2.71-r7::gentoo dev-build/automake: 1.16.5-r2::gentoo dev-build/cmake: 3.28.3::gentoo dev-build/libtool: 2.4.7-r4::gentoo dev-build/make: 4.4.1-r1::gentoo dev-build/meson: 1.4.0-r1::gentoo dev-lang/perl: 5.38.2-r3::gentoo dev-lang/python: 3.11.9::gentoo, 3.12.3::gentoo sys-apps/baselayout: 2.15::gentoo sys-apps/sandbox: 2.38::gentoo sys-apps/systemd: 255.4::gentoo sys-devel/binutils: 2.42-r1::gentoo sys-devel/binutils-config: 5.5::gentoo sys-devel/gcc: 13.2.1_p20240210::gentoo sys-devel/gcc-config: 2.11::gentoo sys-kernel/linux-headers: 6.6-r1::gentoo (virtual/os-headers) sys-libs/glibc: 2.38-r13::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 volatile: False sync-rsync-verify-max-age: 3 sync-rsync-extra-opts: sync-rsync-verify-metamanifest: yes sync-rsync-verify-jobs: 1 md-private location: /var/db/repos/md-private sync-type: git sync-uri: git://md11.it.cx/md-gentoo-overlay.git masters: gentoo volatile: False Binary Repositories: gentoobinhost priority: 1 sync-uri: https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="@FREE linux-fw-redistributable intel-ucode" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d" CXXFLAGS="-O2 -pipe" DISTDIR="/var/cache/distfiles" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance binpkg-request-signature buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles getbinpkg ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="https://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/" LANG="C.UTF8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs" LEX="flex" MAKEOPTS="-j4 -l4" PKGDIR="/var/cache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" SHELL="/bin/bash" USE="acl amd64 bzip2 cet crypt gdbm iconv ipv6 libtirpc multilib ncurses nls openmp pam pcre readline seccomp ssl systemd test-rust udev unicode xattr zlib" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-1" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11" RUBY_TARGETS="ruby31" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account" Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Full build log please.
Created attachment 893378 [details] build.log
encountered this as well. this is the error when trying to import cairo: # python Python 3.11.9 (main, Apr 29 2024, 06:16:04) [Clang 17.0.6 ] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cairo Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.11/site-packages/cairo/__init__.py", line 1, in <module> from ._cairo import * # noqa: F401,F403 ^^^^^^^^^^^^^^^^^^^^^ ImportError: /usr/lib/python3.11/site-packages/cairo/_cairo.cpython-311-x86_64-linux-gnu.so: undefined symbol: cairo_xlib_surface_get_width fixed by re-emerging pycairo
Looks like a problem with dev-python/pycairo, then.
(In reply to robertgzr from comment #4) > encountered this as well. this is the error when trying to import cairo: > ... > > fixed by re-emerging pycairo I have investigated this a little more. Before I filed this bug, I also tried to re-emerge pycairo. After your post here, I tried again. No success, no change of the behaviour. Then I noticed that I use binary packages from gentoo - following the binary guide. So I tried another re-emerge of pycairo, but without --getbinpkg - after that I can emerge sys-apps/fwupd-1.9.18 USE="amt archive gnutls gusb nvme sqlite systemd uefi" without error. My assumption is: there is something wrong with the pycairo binpkg.
Same error here with pycairo-1.27.0 binpkg Python 3.12.9 (main, Mar 7 2025, 20:53:33) [GCC 14.2.1 20241221] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cairo Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.12/site-packages/cairo/__init__.py", line 1, in <module> from ._cairo import * # noqa: F401,F403 ^^^^^^^^^^^^^^^^^^^^^ ImportError: /usr/lib/python3.12/site-packages/cairo/_cairo.cpython-312-x86_64-linux-gnu.so: undefined symbol: cairo_xlib_surface_get_width This does not happen when building from source. Here's the entry from /var/cache/binpkgs/Packages BDEPEND: virtual/pkgconfig >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array dev-lang/python:3.12[threads(+)] BUILD_ID: 1 BUILD_TIME: 1727606397 CPV: dev-python/pycairo-1.27.0 DEFINED_PHASES: compile configure install prepare test DEPEND: >=x11-libs/cairo-1.15.10[svg(+)] x11-base/xorg-proto dev-lang/python:3.12[threads(+)] EAPI: 8 IUSE: examples test doc test python_targets_pypy3 python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 debug KEYWORDS: ~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos LICENSE: || ( LGPL-2.1 MPL-1.1 ) MD5: 3255a6a8fac81efec6eb2190992a6db7 PATH: dev-python/pycairo/pycairo-1.27.0-1.gpkg.tar PROVIDES: x86_64: _cairo.cpython-312-x86_64-linux-gnu.so RDEPEND: >=x11-libs/cairo-1.15.10[svg(+)] dev-lang/python:3.12[threads(+)] >=sys-libs/glibc-2.39-r6 REQUIRES: x86_64: libc.so.6 libcairo.so.2 RESTRICT: test test SHA1: 1533b44c646e9c5a9343673472e2709bd1b3f26d SIZE: 153600 USE: abi_x86_64 amd64 elibc_glibc kernel_linux python_targets_python3_12 MTIME: 1727613088 REPO: gentoo
cairo only builds that symbol if cairo is built using USE=X, so probably pycairo should require cairo[X=] or else it will not accurately expose the API surface of cairo (either it will be missing things that should be there, or it will fatally error on things that it uses, but don't exist).
Oh great, another package with conditional API x_x.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=122aa20a42ec4b7aa7a64420ffbce4731f57ee0a commit 122aa20a42ec4b7aa7a64420ffbce4731f57ee0a Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2025-04-08 04:46:33 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2025-04-08 04:46:33 +0000 dev-python/pycairo: Add transitive X= dep on cairo Closes: https://bugs.gentoo.org/932153 Signed-off-by: Michał Górny <mgorny@gentoo.org> dev-python/pycairo/pycairo-1.27.0.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e4b8146b22b3328a2395f323c626bbc76981bdf commit 3e4b8146b22b3328a2395f323c626bbc76981bdf Author: Sam James <sam@gentoo.org> AuthorDate: 2025-04-08 09:33:02 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2025-04-08 09:33:02 +0000 dev-python/pycairo: revbump for fixed deps It fixes an automagic dep and some users were confused by it too, so revbump for the earlier 122aa20a42ec4b7aa7a64420ffbce4731f57ee0a. Bug: https://bugs.gentoo.org/932153 Signed-off-by: Sam James <sam@gentoo.org> dev-python/pycairo/{pycairo-1.27.0.ebuild => pycairo-1.27.0-r1.ebuild} | 0 1 file changed, 0 insertions(+), 0 deletions(-)