pkg-config incorrect about libglib2 version when compiling gtkglext. but correct .pc file is there

mitchell phillip Laks mlaks2000 at
Mon Dec 11 17:33:20 PST 2006

Tom Parker wrote:
> Several things to try
> 1) Double-check the configure result - try running "pkg-config 
> --modversion glib-2.0" directly. If that works, have a look at the 
> config.log. Look just before the running of pkg-config, and see if 
> configure is doing something odd.
> 3) If 1) doesn't work, check you've got the latest version of pkg-config 
> installed. Latest version in sid is 0.21-1.
> 4) Check if you've got a glib-2.0.pc in /usr/local/pkgconfig. That would 
> only be there if you've manually installed a version earlier. If it's 
> there, delete it.
> 5) If you've installed the newest pkg-config, you can't find anything 
> odd in the config.log, and you're sure that your environment is clean, 
> install strace and run "strace pkg-config --modversion glib-2.0 
> 2>strace.log", then send the strace.log to this mailing list.

thank you Tom!

mlaks at radperfect1:~/gtkglext-1.2.0$ dpkg -l|grep pkg-config
ii  pkg-config                       0.21-1                              manage
compile and link flags for libraries
thus i have the latest version of pkg-config in sid

moreover i get a bad output from  
radperfect1:~# pkg-config --modversion glib-2.0

radperfect1:~# ls /usr/local
Adobe  bin  dicom  etc  games  include  kde  lib  man  sbin  share  src
thus there is no /usr/local/pkgconfig

but wait!

there IS a /usr/local/lib/pkgconfig and 

you are right! 
the evil thing  in there: the bad glib-2.0.pc

mlaks at radperfect1:~$ cat /usr/local/lib/pkgconfig/glib-2.0.pc


Name: GLib
Description: C Utility Library
Version: 2.8.6
Libs: -L${libdir} -lglib-2.0
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include

OK: so if I delete this guy I should be ok.

OK - so i must have been playing with installing all these libraries from source
some time in the past (I forgot! that i used this machine for this - but now i
learn what happens..)

1) When I went in to the man page for pkg-config, i read
By default, pkg-config looks in the directory prefix/lib/pkgconfig  for
       these  files;
i interpreted this to mean it looked in /usr/lib/pkgconfig. It never occured to
me that there is also /usr/local/lib/pkgconfig to check.

2) OK now that I know how to get the compilation beyond that point. I first
removed the bad glib-2.0.pc which solved that problem - but then the compilation
still stopped again at the point and said i dont have gtk-2.0, which i have (but
in the usual debian location,  NOT in /usr/local/lib ....

So at this point I just moved /usr/local/lib/pkgconfig to
/usr/local/lib/pkgconfig.old and then ran ./configure and then it compiled to
the point of demanding opengl libraries (WHICH IS NOT A PCG_CONFIG issue :))

So my question is now, 
once i satisfy the opengl stuff, (which is MY problem) 
I will like to install the second package gtkglextmm 
which depends upon gtkglext. 

When I tried to do the gtkglextmm compilation on a separate machine, 
with the 'same' sid setup as this one -just not messed up by no prior
compilations of atk pango and glib 
(that i must have been playing with here on this machine when it was running
sarge a while ago) 
the other machine ./configure could not find the information on gtkglext even
though I had just make installed gtkglext.

So my question is what exactly is the "best" way to configure the machine to
find the newly compiled gtkglext. I need info both from the native debian .pc
files ie: /usr/lib/pkgconfig as well about this.

Exactly what to put in PKG_CONFIG_PATH or can i simply get a .pc file for
gtkglext and put it somewhere ...

thank you so much!
This occurs because debian sid does not have gtkglext-1.2 and does not even have
 gtkglextmm at all. I wanted them to be in sync, i figure they should work well
with the sid versions of gtk and gtkmmm.

More information about the pkg-config mailing list