An attempt to emerge x11-libs/vte-0.16.14 in a prefix portage environment on x86-Linux fails. From the console log: checking for i686-pc-linux-gnu-pkg-config... no checking for pkg-config... /local/tmp/nightly/2008-08-07/usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for GLIB... configure: error: Package requirements (glib-2.0 > 2.9.0) were not met: Requested 'glib-2.0 > 2.9.0' but version of GLib is 2.8.6 Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GLIB_CFLAGS and GLIB_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
Created attachment 162415 [details] config.log The config.log
I've seen this one before, but thought I fixed this already... can't remember how though. Works for me here, though.
Could it be that you are also using the glib of the host environment, only that your host glib is of a more recent version (> 2.9.0)? BTW, I don't know how to find out the version of the host glib. On my machine there is a file /opt/gnome/lib/glib/include/glibconfig.h that indicates 1.2.10, nothing like the 2.8.6 that the emerge attempt reports.
% ldd /ufs/fabian/scratch/programs/gentoo/usr/lib/libvte.so.9.2.18 | grep glib libglib-2.0.so.0 => /ufs/fabian/scratch/programs/gentoo/usr/lib/libglib-2.0.so.0 (0x00002aaaad497000) Looks healty to me, so unfortunately that's not the case.
% pkg-config --modversion glib-2.0 2.16.5 does that work for you? I think pkg-config in your case doesn't have a correct PKG_CONFIG path.
last thing, if I look at the output of strings on pkg-config, then I just see the prefixed search path, so if that's the case for you too, it looks more likely that configure somehow uses the host pkg-config instead of the prefix one.
First of all, typing `which pkg-config' produces /local/tmp/nightly/2008-08-07/usr/bin/pkg-config Typing `pkg-config --modversion glib-2.0' gets me 2.8.6 Finally, strings `which pkg-config` | grep :/ gets me a few lines, one of them being /local/tmp/nightly/2008-08-07/usr/i686-pc-linux-gnu/lib/gcc:/local/tmp/nightly/2008-08-07/usr/i686-pc-linux-gnu/lib:/local/tmp/nightly/2008-08-07/usr/lib:/local/tmp/nightly/2008-08-07/lib So yes, I agree, configure using the wrong pkg-config could be the explanation. Then again, the config.log says that it *is* the prefixed pkg-config that is used ...?
The one you pasted is the runpath attribute of the ELF header ;) It's deeper down.
Oops .. this looks better: strings `which pkg-config` | grep pkgconfig | tail -n 1 /local/tmp/nightly/2008-08-07/usr/lib/pkgconfig:/local/tmp/nightly/2008-08-07/usr/share/pkgconfig
does this actually still happen using the latest portage and stuff?
Yes, so it seems. Trying `emerge vte' in this morning's prefix tree gets me checking for i686-pc-linux-gnu-pkg-config... no checking for pkg-config... /local/tmp/nightly/2008-08-12/usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for GLIB... configure: error: Package requirements (glib-2.0 > 2.9.0) were not met: Requested 'glib-2.0 > 2.9.0' but version of GLib is 2.8.6 Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GLIB_CFLAGS and GLIB_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. The value of PKG_CONFIG_PATH is: /usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/opt/kde3/lib/pkgconfig:/opt/gnome/lib/pkgconfig:/opt/gnome/lib/pkgconfig:/opt/gnome/share/pkgconfig
Hmmm, your path has the host OS dirs in them, not the prefix ones. That explains a lot. I guess it is inherited from the shell you initially start, maybe startprefix should do an env -i then ...
Interesting. Some time ago I experimented with prepending PKG_CONFIG_PATH with prefix paths. It turns out that I can alternatively clear the variable (`export -n PKG_CONFIG_PATH'). Having done this I can readily emerge vte.
startprefix script now unsets PKG_CONFIG_PATH prior to launching the prefix shell