--On Thu, Jun 4, 1998 2:25 pm -0500 "R. Nortman" <[EMAIL PROTECTED]>
wrote: 

> I had some old versions of some of the libraries installed, and RPM
> didn't install over them, but rather left both versions on.
> Unfortunately, I'm not at my machine now, and I didn't keep good track
> of what I was doing anyway, so I can't tell you exactly which ones,
> nor what versions.  I'm fairly certain that libpng was one of the
> problems.  So in /usr/lib, and I had something like this:
> 
> libpng.so.0
> 
> This was a symbolic link to something like:
> 
> libpng.so.0.x.x.x (like I said, I don't know the exact versions right
> now)
> 
> I also had:
> 
> libpng.so.2
> 
> which linked to
> 
> libpng.so.2.x.x.x
> 
> E complained about the incorrect version of libpng, so I brute-forced
> it:  I changed libpng.so.0 to point to the new libpng (2.whatever),
> and that seemed to work.  I had to do it for a couple of other libs,
> too..  Eventually, it worked.

*BZZZT*

Wrong!

:-)

Actually what you are doing *should* be unnecessary, because of the way
dynamic linking works, which I will endeavour to summarise:

Libraries have version information - major (the first digit), minor (the
rest).

The major versions can happily coexist.  The minor versions should not -
they are simple incremental improvements, or bugs fixes, which do not change
the API. So there shouldn't be any reason to try to make them coexist.

For each major version there is a link

libxxx.<major>  ---> libxxx.<major>.<minor>

For each library, there is a link

libxxx ---> libxxx.<newest-major>

Now, when you build a program, you don't normally specify the version. This
causes the latest versions to linked in.  You shouldn't have to mess with
the symlinks - they should be maintained automatically for you (by ldconfig,
IIRC, on most machines).

So it is bizarre that this fixed your problem.  I can only guess that maybe
you compiled the newest versions of the libraries *after* you compiled Imlib
and/or E.  When compiling programs which depend on other shared libraries,
you must compile the newest versions first, and then run ldconfig.

Does that clear it up?

Jules

/----------------+-------------------------------+---------------------\
|  Jelibean aka  | [EMAIL PROTECTED]         |  6 Evelyn Rd        |
|  Jules aka     |                               |  Richmond, Surrey   |
|  Julian Bean   | [EMAIL PROTECTED]        |  TW9 2TF *UK*       |
+----------------+-------------------------------+---------------------+
|  War doesn't demonstrate who's right... just who's left.             |
|  When privacy is outlawed... only the outlaws have privacy.          |
\----------------------------------------------------------------------/


-
To unsubscribe from this list send mail to: [EMAIL PROTECTED]
with the message contents: unsubscribe e-develop

Reply via email to