Using X11 for an older program
Ryan Schmidt
ryandesign at macports.org
Fri Dec 25 22:08:56 UTC 2020
On Dec 21, 2020, at 21:01, Michael wrote:
> OK. Next question: Is there any reason I cannot install libpng version 15 at the sametime?
>
> I am aware that there is a non-versioned link file, that the latest version of the dynamic library installs. That can stay at 16 where it belongs. I mean specifically having both the libpng15 and the libpng16 files.
>
> I am very surprised at linking to a specific version of a dynamic library. This is actually commercial software, and it did not link to generic "libpng", nor to generic "libpng15" -- linking to a specific version of a dynamic library? Isn't the whole point of dynamic libraries that you don't get a single specific buggy version, but the latest non-buggy version?
The developer of the library decides the granularity at which the library is versioned and decides what constitutes a backward incompatible change.
The developer of libpng has decided that all libpng 1.5.x versions are compatible with one another; they all use library name libpng15.15.dylib; and that all libpng 1.6.x versions are compatible with one another; they all use library name libpng16.16.dylib. You can install a newer version of libpng 1.6.x and all older programs linked with an older libpng 1.6.x will benefit from the improvements in libpng. But any old programs linking with libpng 1.5.x cannot automatically use libpng16.16.dylib because there have been backward incompatible changes in the library. The program must be recompiled / relinked and the source code of the program might need to be updated in order to use libpng16.16.dylib.
More information about the macports-users
mailing list