Originally Posted by Peterius
I generally let compiled from source libraries/etc. install where they want to since I presume that the default is where libraries dependent on them will expect them.
This is i think where your logic is falling short.
default installs /usr/local is the default for developer testing purposes.
developers can install with default path and know their core installation in /usr will never get overwritten. You have to remember a gnome or gtk developer will be runing one version while constantly testing and compiling over and over again a newer version.
so what you have created is a situation where you have not "upgraded" anything but rather are trying to run multiple versions of everything at the same time. this is a situation not for the uninitiated.
it is doable clearly because the developers do it but it requires a full understanding of the behaviour of linking and runtime library lookup paths etc.
next -- it is often simply not obvious or even possible to be able to compile "all the latest" and get the system up and running. often even for a very experienced Linux builder the complexities of especially Gnome and all its dependant but seperately developed packages prove an imposible task. Often for instance one package is ahead on some change and thier latest package is meant to work with future other packages
etc. Gnome has the added complexity of all its configuration in /etc and you need to decide exactly where everything is on your current instalation and where you want everything with what you are doing now.
defaults aren't going to do it you are going to have to take controll.
as far a pkg-config is concerned it only for instance looks for a file labled glib-2.0.pc
the first one it finds it goes with. every version of glib just installs a glib-2.0.pc file.
if you have a bunch of those on you system you have to take controll over which one you are using.
from man pkg-config
By default, pkg-config looks in the directory pre-
fix/lib/pkgconfig for these files; it will also look in the colon-separated (on Windows, semicolon-
separated) list of directories specified by the PKG_CONFIG_PATH environment variable.