Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] From where does portage set PKG_CONFIG_PATH?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
engineermdr
Guru
Guru


Joined: 08 Nov 2003
Posts: 304
Location: Altoona, WI, USA

PostPosted: Sat Oct 19, 2024 12:07 am    Post subject: [SOLVED] From where does portage set PKG_CONFIG_PATH? Reply with quote

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
View user's profile Send private message
engineermdr
Guru
Guru


Joined: 08 Nov 2003
Posts: 304
Location: Altoona, WI, USA

PostPosted: Sat Oct 19, 2024 12:34 am    Post subject: Reply with quote

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
View user's profile Send private message
engineermdr
Guru
Guru


Joined: 08 Nov 2003
Posts: 304
Location: Altoona, WI, USA

PostPosted: Sat Oct 19, 2024 3:51 am    Post subject: Reply with quote

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
View user's profile Send private message
engineermdr
Guru
Guru


Joined: 08 Nov 2003
Posts: 304
Location: Altoona, WI, USA

PostPosted: Sat Oct 19, 2024 4:09 am    Post subject: Reply with quote

:roll:

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
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