Problems dealing with ports use of pkgconf

Kevin Oberman rkoberman at gmail.com
Wed Oct 30 18:46:31 UTC 2013


I have run into a dilemma in regards to the use of pkgconf in ports. Here
is what has bitten me:
To allow sftp to get files, multimedia/vlc uses libssh2. libssh2, in turn,
uses openssl or the GNU crypto library.
If i have installed securith/openssl, all is well, but I don't want of need
the security/openssl port.
If I have not installed openssl from ports, vlc fails! Here is why:

libssh2 creates a .pc file to allow other packages to know whether it uses
openssl or libgcrypt. this is a nice thing, but it makes the common
assumption that openssl is only there if the package has been installed. I
believe that is is the case for Linux.  Not so for FreeBSD. vlc uses
pkgconf to check on whether all required libraries are installed for
libssh2. I finds that libssh2 requires libssl:
Requires.private: libssl,libcrypto
It then checks to see if these are installed. Since libssl is not
installed, it bails on the error. (I believe that it shoudl be "Required:
rather than Requires.private:, but that has no impact on the problem.

Since FreeBSD ports have already checked the dependencies before building a
port, I think such checks should be removed from ports, but I'm not
familiar enough with the real-world implications of this to know if it is
the right way to go. If it is, I'll can submit a patch for vlc. I suspect,
after reading the developers comments, that libssh2 developers will not
want to remove their recent changes in this area.
-- 
R. Kevin Oberman, Network Engineer
E-mail: rkoberman at gmail.com


More information about the freebsd-ports mailing list