Kai Henningsen
Tue Sep 16 18:21:00 GMT 2008

On Tue, Sep 16, 2008 at 19:04, William Miner <> wrote:
> So I look in /usr/lib and I see that I have
> lrwxr-xr-x    1 root  wheel        16 Jun 17  2007 libiconv.2.2.0.dylib ->
> libiconv.2.dylib
> -rw-r--r--    1 root  wheel    987544 Aug 18 11:17 libiconv.2.dylib
> lrwxr-xr-x    1 root  wheel        20 Jun 17  2007 libiconv.dylib ->
> libiconv.2.2.0.dylib
> Which looks suspicious to me (I just inherited this computer) because it
> looks like it has version 2 but is trying to fool the system into thinking
> that it has version 2.2.0. But in any case it certainly has a newer version
> than 1.12.

No, that is not what it means.

The number on the compiled library is the SONAME (or equivalent), not
the package version; the two are usually not related. The SONAME is
meant to indicate compatibility. So if the interface to the libtrrary
changes, the SONAME changes; but if only the implementation changes,
the SONAME stays the same. And the details of the SONAME relate to how
the interface changed. (There is a much better explanation in the
libtool documentation.)

Of course, it's also always possible that there's more than one
libiconv project ...

In any case, you can usually find out the version number by looking
inside the header files the library installed.

More information about the Gcc-help mailing list