libsdl2 port question

Bill Cole macportsusers-20171215 at
Sun Nov 14 18:46:56 UTC 2021

On 2021-11-14 at 05:53:21 UTC-0500 (Sun, 14 Nov 2021 11:53:21 +0100)
Gerben Wierda via macports-users <gerben.wierda at>
is rumored to have said:

> I was just curious: why does the libsdl2 port which is at version 
> 2.0.16 install 2.0.0 libraries? How does that happen? Just learning.

I assume you mean the fact that the actual dylib file is named 

It is a norm for dynamically loaded libraries to include a symlink with 
their base name (i.e. /opt/local/lib/libSDL2.dylib) and sometimes 
additional symlinks with partial versions in their names, with the 
versions being indicators of binary compatibility rather than 
whole-project code revision. This allows for multiple incompatible 
versions of the same shared library to be installed simultaneously, with 
the runtime loader picking which version to attempt to load by the name 
linked in the executable. This is a pattern/norm, not a fixed standard, 
so exactly how a specific library handles the possibility of future 
version incompatibility can vary a bit. The libsdl2 devs have apparently 
decided to leave the name of the real library with the lowest version 
that remains compatible with the current version rather than doing 
anything more complex. Others (e.g. pth) use distinct versioning for 
their library names.

Bill Cole
bill at or billcole at
(AKA @grumpybozo and many * addresses)
Not Currently Available For Hire

More information about the macports-users mailing list