[MacPorts] #55583: snappy @1.1.7: restore shared library build (and use the up-to-date cmake PG)
MacPorts
noreply at macports.org
Mon Jul 2 22:56:14 UTC 2018
#55583: snappy @1.1.7: restore shared library build (and use the up-to-date cmake
PG)
---------------------+----------------------
Reporter: RJVB | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords: haspatch
Port: snappy |
---------------------+----------------------
Comment (by RJVB):
> The switch to a static library only broke linking with libsnappy for C
applications
I didn't (intend to) claim that there was a linking problem with the
static lib. The problem is that the shared library is gone, which means
rebuilding all dependents (including the huge QtWebEngine).
Restoring the shared library without addressing the SOVERSION issue
described above does cause a linking and/or runtime issue if you don't
rebuild the dependents ... or don't install a copy of the runtime dylib
(libsnappy.X.dylib) with the proper SOVERSION set.
> We do not want any port to link with static libraries, as that would not
allow updating without increasing the revision of all recursive
dependents.
I think that would only be true if a port C depends on (uses) a library
from a port B but also uses API from a static library from port A that is
linked into and exposed by port B.
If port C calls code from port A it should declare a dependency on that
port. If the dependency is indirect there is no need for that, but then
there is also no need for recursive rev-bumping (only port B needs the
revbump).
Example: poppler-qt4/5 and poppler. The Qt bindings are complete and
evolve very little, if ever, so I don't think Qt ports using poppler
through those wrappers have ever had to revbump (yet poppler breaks API
quite frequently). IOW, poppler-qt *could* link libpoppler statically
without any ill effect.
--
Ticket URL: <https://trac.macports.org/ticket/55583#comment:9>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list