Problems dealing with ports use of pkgconf

Tijl Coosemans tijl at FreeBSD.org
Fri Nov 1 08:58:07 UTC 2013


On Wed, 30 Oct 2013 11:46:30 -0700 Kevin Oberman wrote:
> 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.

This line:

Requires.private: libssl,libcrypto

Would have to be changed into:

Libs.private: -lssl -lcrypto

See http://people.freedesktop.org/~dbn/pkg-config-guide.html

(Maintainer CCed)


More information about the freebsd-ports mailing list