Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 927920 - x11-libs/wxGTK-3.0.5.1-r1 and x11-libs/wxGTK-3.2.2.1-r3 binary packages are incompatible with 23.0 split-usr profiles
Summary: x11-libs/wxGTK-3.0.5.1-r1 and x11-libs/wxGTK-3.2.2.1-r3 binary packages are i...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo wxWidgets project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: usrmerge, usrmerge-fixes 927745 927750 928421
  Show dependency tree
 
Reported: 2024-03-26 22:28 UTC by Andreas Grois
Modified: 2024-04-15 15:40 UTC (History)
3 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 Andreas Grois 2024-03-26 22:28:42 UTC
When installing wxGTK on a split-usr 23.0 profile, the resulting wx-config does not work.

$ wx-config --cxxflags

          Warning: No config found to match: /usr/lib64/wx/config/gtk3-unicode-3.2-gtk3 --cxxflags
                   in /usr/lib64/wx/config
          If you require this configuration, please install the desired
          library build.  If this is part of an automated configuration
          test and no other errors occur, you may safely ignore it.
          You may use wx-config --list to see all configs available in
          the default prefix.

When building from source instead of using binary packages, wx-config does work:

$ wx-config --cxxflags
-I/usr/lib64/wx/include/gtk3-unicode-3.2-gtk3 -I/usr/include/wx-3.2-gtk3 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread

I think this is because the files placed in /usr/lib64/wx/config/ have the path to the grep binary hardcoded, and on split-usr this binary is located in /bin, but the binary packages expect it to be in /usr/bin instead.

--------------------------------------------------------------------
$ emerge --info wxGTK
Portage 3.0.61 (python 3.11.8-final-0, default/linux/arm64/23.0/split-usr/desktop, gcc-13, glibc-2.38-r11, 6.6.21-gentooAndiMNTGentoo aarch64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.6.21-gentooAndiMNTGentoo-aarch64-with-glibc2.38
KiB Mem:     3811184 total,   2465756 free
KiB Swap:   31249404 total,  31247612 free
Timestamp of repository gentoo: Mon, 25 Mar 2024 18:30:00 +0000
Head commit of repository gentoo: 093b1f1829fed5e67b4372e42ee03abf43cf55dc
sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.41 p5) 2.41.0
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.1_p16-r6::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.71-r6::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.28.3::gentoo
dev-build/libtool:         2.4.7-r3::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.3.2::gentoo
dev-lang/perl:             5.38.2-r2::gentoo
dev-lang/python:           3.11.8_p1::gentoo, 3.12.2_p1::gentoo
dev-lang/rust-bin:         1.75.0::gentoo
sys-apps/baselayout:       2.14-r2::gentoo
sys-apps/openrc:           0.53::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-devel/binutils:        2.41-r5::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           17.0.6::gentoo
sys-devel/gcc:             13.2.1_p20240210::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/lld:             17.0.6::gentoo
sys-devel/llvm:            17.0.6::gentoo
sys-kernel/linux-headers:  6.6::gentoo (virtual/os-headers)
sys-libs/glibc:            2.38-r11::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-extra-opts:
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-max-age: 3
    sync-rsync-verify-jobs: 1

local
    location: /var/db/repos/local
    masters: gentoo
    volatile: False

Binary Repositories:

gentoobinhost
    priority: 9999
    sync-uri: rsync://mirror.dkm.cz/gentoo/releases/arm64/binpackages/23.0/arm64

ACCEPT_KEYWORDS="arm64"
ACCEPT_LICENSE="@FREE"
CBUILD="aarch64-unknown-linux-gnu"
CFLAGS="-O2 -pipe -mcpu=cortex-a73.cortex-a53+crc+crypto"
CHOST="aarch64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -mcpu=cortex-a73.cortex-a53+crc+crypto"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="-g --usepkg-exclude "sys-apps/openrc dev-build/libtool""
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 -mcpu=cortex-a73.cortex-a53+crc+crypto"
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 ipc-sandbox merge-sync 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 -mcpu=cortex-a73.cortex-a53+crc+crypto"
GENTOO_MIRRORS="rsync://mirror.dkm.cz/gentoo/ http://distfiles.gentoo.org"
LANG="de_AT.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
LINGUAS="de_AT de en en_GB"
MAKEOPTS="-j6"
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="X a52 aac acl acpi alsa arm64 bash-completion bluetooth branding bzip2 cairo cdda crypt cups dbus dri dts dvd egl elogind encode exif fbcon ffmpeg flac gdbm gif gles2 gpm gtk gui iconv icu ipv6 jpeg lcms libnotify libtirpc lzma mad matroska mng mp3 mp4 mpeg musepack ncurses networkmanager nls offensive ogg opengl openmp opus pam pango pcre pdf png policykit ppds readline rss sdl seccomp sound speex spell split-usr ssl startup-notification svg test-rust theora threads tiff timidity truetype udev udisks unicode upower usb vaapi vim-syntax vorbis vulkan wayland wifi wxwidgets x264 xattr xcb xft xml xv xvid zlib zstd" 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_ARM="aes crc32 edsp sha1 sha2 v8 vfp vfp-d32 vfpv3 vfpv4" 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" L10N="de-AT de en en-GB" 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="panfrost" 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, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, 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

=================================================================
                        Package Settings
=================================================================

x11-libs/wxGTK-3.0.5.1-r1::gentoo was built with the following:
USE="X libnotify opengl sdl tiff -debug -doc -gstreamer (-pch) -test -webkit"
FEATURES="config-protect-if-modified merge-sync sandbox protect-owned pid-sandbox xattr multilib-strict usersync ebuild-locks usersandbox binpkg-request-signature ipc-sandbox qa-unresolved-soname-deps fixlafiles distlocks preserve-libs sfperms binpkg-dostrip unknown-features-warn pkgdir-index-trusted unmerge-orphans strict binpkg-multi-instance userfetch news unmerge-logs userpriv assume-digests binpkg-docompress buildpkg-live parallel-fetch network-sandbox binpkg-logs"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--undefined-version"


x11-libs/wxGTK-3.2.2.1-r3::gentoo was built with the following:
USE="X libnotify lzma opengl sdl spell tiff wayland -curl -debug -doc -gstreamer -keyring (-pch) -test -webkit"
FEATURES="config-protect-if-modified merge-sync sandbox protect-owned pid-sandbox xattr multilib-strict usersync ebuild-locks usersandbox binpkg-request-signature ipc-sandbox qa-unresolved-soname-deps fixlafiles distlocks preserve-libs sfperms binpkg-dostrip unknown-features-warn pkgdir-index-trusted unmerge-orphans strict binpkg-multi-instance userfetch news unmerge-logs userpriv assume-digests binpkg-docompress buildpkg-live parallel-fetch network-sandbox binpkg-logs"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--undefined-version"
Comment 1 Marian Kyral 2024-03-30 06:47:06 UTC
I have the same issue - two packages failed to build on 23.0 split-usr profile:

app-arch/p7zip
media-video/mediainfo

I can also confirm that creating /usr/bin/grep symlink fix the issue and packages compiles fine.
Comment 2 Mart Raudsepp gentoo-dev 2024-04-06 12:30:27 UTC
On a quick look, it looks like it's just using dev-build/autoconf provided AC_PROG_EGREP m4 macro for this, and I don't see a copy of it in wxGTK own build, so presumably system version in /usr/share/autoconf-2.71/autoconf/programs.m4 is not overridden by a copy in aclocal.m4 or similar in wxGTK own tree.
And then that path is encoded in the relevant wx-config version in /usr/lib64/wx/config/ into the binary package. The grep calls in it are just `grep` without a path, while EGREP gets the full path from the configure check, e.g.
EGREP="/usr/bin/grep -E"

Not sure what the best approach here is to fix it.
Comment 3 Mart Raudsepp gentoo-dev 2024-04-06 12:37:36 UTC
Is there a reliable way to feed it EGREP value via autoconf cache thing that will work on all system? In particular about "egrep" vs "grep -E", etc?

Maybe
export ac_cv_path_GREP="${EPREFIX}/bin/grep
and/or
export ac_cv_path_EGREP="${EPREFIX}/bin/grep -E"
in src_configure is bound to work in Gentoo without problems on all systems?

Though that would not work for binary prefix packages still... Without a full path OTOH feels risky otherwise - maybe if it only ended up in the wx-config script like that, but I think it's used elsewhere as well during build.
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-04-10 03:11:26 UTC
(In reply to Mart Raudsepp from comment #3)

I'd just copy what dev-build/libtool does.