lib dependency confusion
Jan Stary
hans at stare.cz
Wed Jan 10 20:03:11 UTC 2018
On Jan 10 20:49:21, hans at stare.cz wrote:
> path:lib/libssl.dylib:openssl
>
> This means a 'lib/libssl.dylib' needs to be present in $prefix,
> and if it's not, it gets installed by installing openssl.
> The point of specifying the dependency this way is that
> some port other than openssl can already provide that library,
> in this case typically libressl.
>
> That's how I have e.g. lynx installed: install libressl,
> then install lynx; it notices lib/libssl.dylib already exists,
> and builds against that, instead of pulling in openssl to provide it.
And it builds and installs and runs just fine, but:
$ port installed depends:openssl
The following ports are currently installed:
cpuminer @2.5.0_0 (active)
curl @7.57.0_2+ssl (active)
cvs @1.11.23_2 (active)
kerberos5 @1.16_0 (active)
lynx @2.8.8rel.2_3+ssl (active)
(These ports are built the same way.)
$ port installed depends:libressl
None of the specified ports are installed.
Obviously,
$ otool -L /opt/local/bin/lynx | grep ssl
/opt/local/lib/libssl.43.dylib (compatibility version 44.0.0, current version 44.2.0)
$ port provides /opt/local/lib/libssl.43.dylib
/opt/local/lib/libssl.43.dylib is provided by: libressl
So lynx is among those nstalled depending on openssl,
which is not even installed (conflicts with libressl of course),
but not among those dependent on libressl (which is the case).
Tha can't be right.
In what way does MP record/recognize tha actual dependency
of lynx (et al) on libressl? It does somehow, because
$ sudo port uninstall libressl
Password:
Note: It is not recommended to uninstall/deactivate a port that has
dependents as it breaks the dependents.
The following ports will break:
lynx @2.8.8rel.2_3
cvs @1.11.23_2
kerberos5 @1.16_0
curl @7.57.0_2
cpuminer @2.5.0_0
Continue? [y/N]:
Jan
More information about the macports-users
mailing list