View previous topic :: View next topic |
Author |
Message |
engineermdr Guru
Joined: 08 Nov 2003 Posts: 304 Location: Altoona, WI, USA
|
Posted: Sat Oct 19, 2024 12:07 am Post subject: [SOLVED] From where does portage set PKG_CONFIG_PATH? |
|
|
I ran into a problem tonight that I was able to resolve, but wonder if there's a bug. When I attempted to build dev-libs/glib, it failed with Code: | * Updating GSettings schemas ... [ !! ]
>>> Regenerating /etc/ld.so.cache...
>>> Original instance of package unmerged safely.
* Updating GSettings schemas ... [ !! ]
* abi_x86_64.amd64: running multilib_pkg_postinst
* Updating GIO modules cache ...
/usr/bin/x86_64-pc-linux-gnu-gio-querymodules: error while loading shared libraries: libffi.so.7: cannot open shared object file: No such file or directory | So I looked to see what package owns x86_64-pc-linux-gnu-gio-querymodules, and to my surprise, it's dev-libs/glib. So now I'm kind of stuck. I figured I'll have to find libffi.so.7 somewhere, when I noticed there's a dev-lib/libffi-compat ebuild. I built that and sure enough, it gives me libffi.so.7, which then allows me to install dev-libs/glib.
Should the dev-libs/glib have handled this automatically?
Last edited by engineermdr on Sat Oct 19, 2024 4:09 am; edited 2 times in total |
|
Back to top |
|
|
engineermdr Guru
Joined: 08 Nov 2003 Posts: 304 Location: Altoona, WI, USA
|
Posted: Sat Oct 19, 2024 12:34 am Post subject: |
|
|
So then I removed libffi-compat after rebuilding glib and got Code: | !!! existing preserved libs:
>>> package: dev-libs/libffi-compat-3.3-r2
* - /usr/lib64/libffi.so.7
* - /usr/lib64/libffi.so.7.1.0
* used by /usr/lib64/libgobject-2.0.so.0.7800.6 (dev-libs/glib-2.78.6)
| What, what? Ok, tried rebuilding glib again and this time it worked, but still gives Code: | !!! existing preserved libs:
>>> package: dev-libs/libffi-compat-3.3-r2
* - /usr/lib64/libffi.so.7
* - /usr/lib64/libffi.so.7.1.0
* used by /usr/lib64/libgobject-2.0.so.0.7800.6 (dev-libs/glib-2.78.6)
| So how do I rebuild glib so it uses libffi.so.8, which does exist in /usr/lib64? |
|
Back to top |
|
|
engineermdr Guru
Joined: 08 Nov 2003 Posts: 304 Location: Altoona, WI, USA
|
Posted: Sat Oct 19, 2024 3:51 am Post subject: |
|
|
I added some output to a modified local build to dump the environment and I've discovered that PKG_CONFIG_PATH is getting set and including a path in /opt to some libraries I installed outside of portage. As root, I do not have PKG_CONFIG_PATH set.
I removed that software from /opt and tried recompiling python, portage, and pkgconf. And I cannot find any place this variable is set. So now my question is, where does portage get PKG_CONFIG_PATH from?
Code: | PKG_CONFIG_PATH=/tmp/portage/dev-libs/glib-2.78.6/temp/python3.12/pkgconfig:/opt/ami/lib64/pkgconfig |
Code: | # emerge --info
Portage 3.0.65 (python 3.12.6-final-0, default/linux/amd64/23.0/split-usr, gcc-13, glibc-2.39-r6, 5.10.201-gentoo x86_64)
=================================================================
System uname: Linux-5.10.201-gentoo-x86_64-Intel-R-_Core-TM-_i7-6700K_CPU_@_4.00GHz-with-glibc2.39
KiB Mem: 32767576 total, 5472216 free
KiB Swap: 0 total, 0 free
Timestamp of repository gentoo: Sat, 19 Oct 2024 01:33:25 +0000
Head commit of repository gentoo: 46b43d9e617d6f31a20ddd524a5aacd01d2bf6c9
Timestamp of repository pf4public: Thu, 17 Oct 2024 19:18:35 +0000
Head commit of repository pf4public: 1820a434163af98703027a5a47728e9e0d6e3bd5
Timestamp of repository plex-overlay: Mon, 14 Oct 2024 12:50:40 +0000
Head commit of repository plex-overlay: c96b38b1331a3e1e3b77e33248dc4295221d8641
sh bash 5.2_p37
ld GNU ld (Gentoo 2.42 p6) 2.42.0
app-misc/pax-utils: 1.3.7::gentoo
app-shells/bash: 5.2_p37::gentoo
dev-build/autoconf: 2.13-r8::gentoo, 2.71-r7::gentoo
dev-build/automake: 1.16.5-r2::gentoo
dev-build/cmake: 3.30.2::gentoo
dev-build/libtool: 2.4.7-r4::gentoo
dev-build/make: 4.4.1-r1::gentoo
dev-build/meson: 1.5.1::gentoo
dev-java/java-config: 2.3.4::gentoo
dev-lang/perl: 5.40.0::gentoo
dev-lang/python: 2.7.18_p16-r2::gentoo, 3.11.10_p1::gentoo, 3.12.6_p4::gentoo
sys-apps/baselayout: 2.15::gentoo
sys-apps/openrc: 0.17-r3::engineermdr
sys-apps/sandbox: 2.39::gentoo
sys-devel/binutils: 2.42-r2::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/gcc: 13.3.1_p20240614::gentoo
sys-devel/gcc-config: 2.11::gentoo
sys-kernel/linux-headers: 6.6-r1::gentoo (virtual/os-headers)
sys-libs/glibc: 2.39-r6::gentoo
Repositories:
gentoo
location: /var/db/repos/gentoo
sync-type: git
sync-uri: https://github.com/gentoo-mirror/gentoo.git
priority: -1000
volatile: False
pf4public
location: /var/db/repos/pf4public
sync-type: git
sync-uri: https://github.com/gentoo-mirror/pf4public.git
masters: gentoo
volatile: False
plex-overlay
location: /var/db/repos/plex-overlay
sync-type: git
sync-uri: https://github.com/gentoo-mirror/plex-overlay.git
masters: gentoo
volatile: False
crossdev
location: /var/db/repos/crossdev
masters: gentoo
priority: 10
volatile: False
engineermdr
location: /var/db/repos/engineermdr
masters: gentoo
priority: 10
volatile: False
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=x86-64 -O2 -pipe -w"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/gnupg/qualified.txt /var/yp/Makefile"
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="-march=x86-64 -O2 -pipe -w"
DISTDIR="/srv/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="-march=x86-64 -O2 -pipe -w"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles 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="-march=x86-64 -O2 -pipe -w"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
MAKEOPTS="-j8"
PKGDIR="/srv/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="/tmp"
SHELL="/bin/bash"
USE="acl amd64 bzip2 cet cpudetection crypt eudev iconv ipv6 libtirpc multilib ncurses nls openmp pcre readline seccomp split-usr ssl test-rust unicode upower vim-syntax 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 sse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput joystick synaptics vmmouse" KERNEL="linux" L10N="en en-US" 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-2" POSTGRES_TARGETS="postgres16" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby32" SANE_BACKENDS="snapscan" VIDEO_CARDS="vesa nouveau" 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
|
|
|
Back to top |
|
|
engineermdr Guru
Joined: 08 Nov 2003 Posts: 304 Location: Altoona, WI, USA
|
Posted: Sat Oct 19, 2024 4:09 am Post subject: |
|
|
Never assume two windows have the same environment. Turns out in one, the one I was running emerge in, I missed the '-' in 'su -', so it inherited the environment from my user account, which of course included my software in /opt. I then proceeded to use the other window with a clean environment to try and figure what was going on while I looked at the emerge output. Now that I have a clean environment where I'm running emerge, all is good.
One of those nights.... |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|