On 21 Dec 2020, at 22:01, Michael wrote:

OK. Next question: Is there any reason I cannot install libpng version 15 at the sametime?

Not really. Better to update the software that wants it to use a current version.

But the 1.5.x source is in the libpng site at Sourceforge, so you can still get it, build it, and install the libraries where you need them (/opt/X11/lib/)without affecting the v1.6.x version that MacPorts installs.


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?

Yes and no. Versioned libraries exist because sometimes you really don't want to link to anything but the version that you built against. Sometimes interfaces change between versions, particularly "major" version changes such as in this case, and software using the library may be known to not be forward-compatible.

Also see below...


On 2020-12-21, at 6:55 PM, Ken Cunningham <ken.cunningham.web...@gmail.com> wrote:

On 2020-12-21, at 10:55 AM, Michael <keybounce at gmail.com> wrote: > This should be a simple one. I hope.

I just installed a program that was compiled against the release version of mac's X11. Crashes on startup with this:

dyld: launch, loading dependent libraries

Dyld Error Message:
Library not loaded: /opt/X11/lib/libpng15.15.dylib

What symbolic links do I need? /opt has no X11 directory.

That's a bad sign, and a hint that you need to do more than just install the right version of libpng.

The /opt/X11/ tree is where the "XQuartz" implementation of X11 installs itself, along with a whole universe of its own required libraries. It includes (in the last version, 2.7.11) 4 versions of libpng, with a symlink for the unversioned name to libpng16.16.dylib. This implies something of a mess in how the various binaries in the XQuartz package were built, but you cannot fix that. You have a pre-built commercial package that specifies at least one older version of a library as installed by XQuartz so you can expect that it will also be dependent on the whole collection of libraries installed by XQuartz.

If you lack /opt/X11/, you do not have XQuartz installed. Apple has not included ANY X implementation in recent macOS versions, so you will need to install XQuartz if you can't get a version of the failing software built to use the X implementation that is installed by MacPorts.


--
Bill Cole
b...@scconsult.com or billc...@apache.org
(AKA @grumpybozo and many *@billmail.scconsult.com addresses)
Not Currently Available For Hire

Reply via email to