Page 1 of 1

Error compiling Webkit: something to do with glib

Posted: Wed 21 Apr 2010, 19:20
by DaveS
Desperately trying to compile webkit but cant get past this error:

Code: Select all

checking for GLIB... configure: error: Package requirements (glib-2.0 >= 2.21.3
                  gobject-2.0 >= 2.0
                  gthread-2.0 >= 2.0) were not met:

Requested 'glib-2.0 >= 2.21.3' but version of GLib is 2.18.3

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.
Been on this for a week now. I HAVE compiled and installed glib 2.22 from here
http://ftp.gnome.org/pub/gnome/sources/glib/2.22/
But it makes no difference. :(

glib

Posted: Thu 22 Apr 2010, 06:09
by tubby
Would the latest pet from here help? ftp://distro.ibiblio.org/pub/linux/dist ... ackages-4/

Posted: Thu 22 Apr 2010, 10:02
by DaveS
Thanks for taking the time Tubby. No luck though......... seems crazy.

Posted: Fri 23 Apr 2010, 13:30
by npierce
When you looked at the pkg-config man page and then tried

Code: Select all

pkg-config --cflags --libs glib-2.0
to see what the response was, what was it?

Posted: Fri 23 Apr 2010, 16:32
by DaveS
npierce wrote:When you looked at the pkg-config man page and then tried

Code: Select all

pkg-config --cflags --libs glib-2.0
to see what the response was, what was it?
This is what came up:

Code: Select all

-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  -lglib-2.0

Posted: Fri 23 Apr 2010, 17:08
by DaveS
Getting nowhere now, so giving up. Heck, I am such a doombrain.............

Posted: Fri 23 Apr 2010, 17:23
by npierce
Okay, so it doesn't look like the linker is looking anywhere special for libglib-2.0. Let's see what we find when we look in some standard places. Try these commands:

Code: Select all

echo $LIBRARY_PATH
echo $LD_LIBRARY_PATH
ls -l /lib/libglib-2.0*
ls -l /usr/lib/libglib-2.0*
ls -l /usr/local/lib/libglib-2.0*

Posted: Fri 23 Apr 2010, 18:39
by DaveS
OK, I get this:

Code: Select all

# echo $LD_LIBRARY_PATH 
/lib:/usr/lib:/usr/X11R7/lib:/root/my-applications/lib:/opt/qt4/lib:/opt/mozilla.org/lib:/usr/lib/seamonkey:/opt/samba/lib
# ls -l /lib/libglib-2.0* 
ls: cannot access /lib/libglib-2.0*: No such file or directory
# ls -l /usr/lib/libglib-2.0* 
-rwxr-xr-x 1 root root    957 2009-06-11 16:49 /usr/lib/libglib-2.0.la
lrwxrwxrwx 1 root root     23 2009-10-16 01:33 /usr/lib/libglib-2.0.so -> libglib-2.0.so.0.1800.3
lrwxrwxrwx 1 root root     23 2010-04-22 10:59 /usr/lib/libglib-2.0.so.0 -> libglib-2.0.so.0.2200.2
lrwxrwxrwx 1 root root     23 2010-04-21 18:39 /usr/lib/libglib-2.0.so.0.1800.3 -> libglib-2.0.so.0.2200.2
-rwxr-xr-x 1 root root 751300 2009-10-24 14:16 /usr/lib/libglib-2.0.so.0.2200.2
# ls -l /usr/local/lib/libglib-2.0*

Posted: Fri 23 Apr 2010, 19:39
by npierce
Hi Dave,

I guess you sent your earlier post while I was writing my last post, so I didn't notice it. I didn't mean to push you into continuing if you are getting tired of this. I know how frustrating things get after working on them a long while. If you want to stop, feel free to ignore the rest of this post.

But if you want to try one more thing just to see if it helps, read on. . .

The links in /usr/lib look a little unconventional. libglib-2.0.so points to another link named libglib-2.0.so.0.1800.3, which in turn points to libglib-2.0.so.0.2200.2, the actual library.

I'm not sure how the library version is determined when gcc is run, but if it looks at the name of the link in the middle, that might be enough to confuse it into thinking that you have the older version still installed. I suggest changing libglib-2.0.so to point to libglib-2.0.so.0, like so:

Code: Select all

rm /usr/lib/libglib-2.0.so
ln -s libglib-2.0.so.0 /usr/lib/libglib-2.0.so
Unless you have a specific reason for having the links as you have them, this change is probably worth trying. I'm not sure if it will help, but it's worth a shot.

--npierce

Posted: Fri 23 Apr 2010, 20:21
by DaveS
npierce wrote:Hi Dave,

I guess you sent your earlier post while I was writing my last post, so I didn't notice it. I didn't mean to push you into continuing if you are getting tired of this. I know how frustrating things get after working on them a long while. If you want to stop, feel free to ignore the rest of this post.

But if you want to try one more thing just to see if it helps, read on. . .

The links in /usr/lib look a little unconventional. libglib-2.0.so points to another link named libglib-2.0.so.0.1800.3, which in turn points to libglib-2.0.so.0.2200.2, the actual library.

I'm not sure how the library version is determined when gcc is run, but if it looks at the name of the link in the middle, that might be enough to confuse it into thinking that you have the older version still installed. I suggest changing libglib-2.0.so to point to libglib-2.0.so.0, like so:

Code: Select all

rm /usr/lib/libglib-2.0.so
ln -s libglib-2.0.so.0 /usr/lib/libglib-2.0.so
Unless you have a specific reason for having the links as you have them, this change is probably worth trying. I'm not sure if it will help, but it's worth a shot.

--npierce
Thanks again, but still get the same error..................

Posted: Sat 24 Apr 2010, 15:18
by npierce
I did some reading and found out that pkg-config doesn't try to find out what version of a library is actually installed. It just looks in a text file (in this case, /usr/lib/pkgconfig/glib-2.0.pc). If the entry for "Version:" in the file doesn't match the actual version installed, pkg-config returns the wrong information.

That file should have been automatically updated when you compiled and installed glib 2.22, but something must have gone wrong.

Since you recently installed glib-2.22.2-p4.pet, the simplest way to fix this is to install ftp://distro.ibiblio.org/pub/linux/dist ... 2.2-p4.pet, which contains a correct copy of the /usr/lib/pkgconfig/glib-2.0.pc text file.

Posted: Sat 24 Apr 2010, 18:46
by DaveS
npierce wrote:I did some reading and found out that pkg-config doesn't try to find out what version of a library is actually installed. It just looks in a text file (in this case, /usr/lib/pkgconfig/glib-2.0.pc). If the entry for "Version:" in the file doesn't match the actual version installed, pkg-config returns the wrong information.

That file should have been automatically updated when you compiled and installed glib 2.22, but something must have gone wrong.

Since you recently installed glib-2.22.2-p4.pet, the simplest way to fix this is to install ftp://distro.ibiblio.org/pub/linux/dist ... 2.2-p4.pet, which contains a correct copy of the /usr/lib/pkgconfig/glib-2.0.pc text file.
Thanks.... that fixed it, so now on to the next error, something about ICU :)

Posted: Sat 24 Apr 2010, 20:43
by npierce
:)

Yay!

You're welcome. I'm glad we got it fixed!

Posted: Sat 24 Apr 2010, 20:46
by DaveS
npierce wrote::)

Yay!

You're welcome. I'm glad we got it fixed!
Yay! Thanks again. Not simple is it!

Posted: Sat 24 Apr 2010, 21:02
by npierce
No, not at all simple.

And as the years go by, things seem to keep getting less and less simple. The irony is that folks think that they are making things simpler by automating stuff. Well, when it works it is simpler. But when something goes wrong, watch out! Trying to figure out what went wrong with it can be a nightmare.

Of course, things never go wrong! :lol:

Posted: Sun 25 Apr 2010, 17:06
by tubby
If you haven`t sorted ICU yet download it direct from the ICU site and it compiles very easy but you may need a 4.2 release not the current 4.4.

Posted: Tue 27 Apr 2010, 20:02
by DaveS
Hey Tubby. Thanks........ I had done that and failed of course, so am taking a bit of a break to experiment with 4.4 LOL.