Re: Unmet library requirements when configuring gnopernicus.



On Thu, 2003-07-17 at 04:47, Dave Mielke wrote:
> Can any of you explain how the following unmet library requirements (when
> configuring gnopernicus) are to be interpreted? They're all of the form
> "name-version1 >= version2". It looks like it's saying that I currently have
> "version1" of "name" whereas gnopernicus needs "version2". There are two
> problems with this guess, though. Firstly, "version1" doesn't always correspond
> to what I currently have.  Secondly, "version1" for some of them already is
> greater than "version2". Here's the actual configure error.
> 
>    configure: error: Library requirements (
>       libgnome-2.0 >= 1.102.0
>       gconf-2.0 >= 1.1.5
>       glib-2.0 >= 1.3.12
>       libxml-2.0 >= 2.4.6
>       gnome-speech-1.0 >= 0.0.2
>    ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if 
>    your libraries are in a nonstandard prefix so pkg-config can find them.

You are misunderstanding the naming and versioning scheme a little.
First a bit of meta-explanation, then how to interpret the above
message:

Most libraries are labelled as <library-name>-<major-version>, such as
libgnome-2.0, libxml-2.0, etc. This is to differentiate them from the
1.0 lines which were useful for GNOME 1. Nowadays, even things like
gnome-speech are adding the "-1.0" version number to preemptively avoid
the problems we had moving from GNOME 1 to GNOME 2. Basically, we *must*
be able to parallel install fundamentally incompatible versions of the
same library (e.g. the GNOME 1 version of libgnome and the GNOME 2
version). So the "-1.0" and "-2.0" suffixes describe the major version
lines.

However (here it gets tricky), I am using "version" here to mean some
kind of ueber-version -- basically just indicating that a "-2.0" version
is completely different from the "-1.0" version. The name of the library
(e.g. libgnome-2.0) should not change until GNOME 3 (or later). Within
the libgnome-2.0 line, each release has its own version number.
Currently, libgnome-2.0 is up to version 2.3.0, for example.

So, back to the above message. What it is saying is that you need at
least version 1.102.0 of the libgnome-2.0 package, and at least version
1.1.5 of the gconf-2.0 package, etc. Just before that output, there
would have been some more detailed output showing which particular
versions of which package was not found. The above error message is just
an overall summary of the failure. Look back a few lines in the output
to find the precise problem.

By the way, the configure script is checking these version numbers by
looking in the appropriate *.pc files. So, for example, the
/gnome/head/INSTALL/lib/pkgconfig/libgnome-2.0.pc on my system contains
a line that says "Version: 2.3.0". This is checked against the 1.102.0
requirement by configure and is determined to be recent enough (since
obviously 2.3.0 being later than 1.102.0).

Is this a bit clearer? I guess the simple summary is to think of the
things on the left in your error message to be the library or package
name (e.g. "libgnome-2.0" is the full name) and the thing on the right
is the minimum version required.

You can test which version of the library pkg-config thinks you have by
running

           pkg-config --modversion libgnome-2.0

if you get a message like "No package 'libgnome-2.0' found" then you
need to investigate your pkg-config setup and see if you have the right
development packages installed, etc.

Please feel free to request clarifications on any of the above. I
realise it's all a bit messy and my explanation may not be the greatest.

Cheers,
Malcolm




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