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"
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.
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.
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.
(In reply to Mart Raudsepp from comment #3) I'd just copy what dev-build/libtool does.