Re: Gtk+-2.0: First attempt



On Mon, Jul 17, 2006 at 11:36:46AM -0700, William D. Tallman wrote:
> 
> Adding the #include satisfied the compiler, whatever the case.

That's really strange.  Convince yourself #include <glib.h>
is on line 29 of gdk-pixbuf/gdk-pixbuf.h and therefore it
is included before it gets to line 33.  If you included
<glib.h> (not "glib.h") I don't understand how it could find
a different glib.h.

> Apparently glib-2-2.6.3 also includes G_GNU_NULL_TERMINATED?

I don't know what Slackware does with GLib, but my theory is
you have more than GLib installed.  What locate glib.h,
locate gtk.h finds?

> At the advice of another respondant, I did:
> 
> [wtallman ansible c_stuff]$ pkg-config --modversion gtk+-2.0
> 2.6.3
> [wtallman ansible c_stuff]$ pkg-config --modversion glib-2.0
> 2.6.3

These two are consistent.  But unless Slackware mangles Gtk+
beyond recognition, there is no G_GNUC_NULL_TERMINATED in
Gtk+ 2.6.3, nor in any other 2.6.x version.  So the header
files your app tried to include belong to another instance
of Gtk+.

Try pkg-config --variable=prefix libfoo to find out where
the libfoo found by pkg-config is located.

> The Slackware package is gtk-2-2.4.3-i486-1.  This implies a discrepency
> in minor version numbers.

If gtk-2-2.4.3 is what you expect to have installed this
supports the theory you have a pell-mell, not a particular
version.

> Now, a major problem seems to be pango.  Thus:
> 
> [wtallman ansible c_stuff]$ pkg-config --modversion pango
> 1.4.0
> 
> may or may not be the right version for the rest of the libraries.

GLib, Gtk+, Pango, etc. version numbers are unrelated (Gtk+
and GLib versions used to be related, but it is no longer
true).  What version of what is required is probably written
in some docs, I would run or look at configure.{ac,in} of
each library in question.

> I intend to get the gtk+ source for 2.6.3 and see if it matches the
> Slackware package.  I presume that installing 2.6.3 (in /usr/local) will
> tell me if it is satisfied with the pango version.
> 
> Any other suggestions?

Do not install anything to /usr/local.  You could end up
with three+ versions installed simultaneously and even in
the best case you will still have two versions installed.
The files can be easily compared without actually installing
them.

What you need is not installation of another version, but
location and identification of everything you have already
installed and *removal* of the extra/unneeded libs.

Yeti


--
Anonyms eat their boogers.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]