7

On FreeBSD, ever since I installed openssl explicitly I have the following message when I install most ports that require openssl:

/!\ WARNING /!\
You have security/openssl installed but do not have DEFAULT_VERSIONS+=ssl=openssl set in your make.conf

As I'm fairly new to FreeBSD, I would like to know what's the meaning of the message and how I can adopt my configs to get rid of it.

0
7

Just run echo 'DEFAULT_VERSIONS+=ssl=openssl' >> /etc/make.conf (as root) if you really have installed security/openssl.


For users of an other port than security/openssl:

  • for security/openssl-devel: echo 'DEFAULT_VERSIONS+=ssl=openssl-devel' >> /etc/make.conf
  • for security/libressl: echo 'DEFAULT_VERSIONS+=ssl=libressl' >> /etc/make.conf
  • for security/libressl-devel: echo 'DEFAULT_VERSIONS+=ssl=libressl-devel' >> /etc/make.conf

To use/link openssl from your system (world): DEFAULT_VERSIONS+=ssl=base (default without installing any libressl* or openssl* port).


If you get the following error:

You have a /usr/local/lib/libcrypto.so file installed, but the framework is unable to determine what port it comes from. Add DEFAULT_VERSIONS+=ssl= to your /etc/make.conf and try again.

And you don't know or can't remember which one you have installed, check the output of pkg info -ox "openssl|libressl", for example, to determine how to define ssl as DEFAULT_VERSIONS.

Note: OpenSSL implementation, using ports (not packages), can be switched at any time but:

  1. make sure programs that rely on it are compatible (few months ago, a port - I can't remember which one - was marked incompatible with libressl)
  2. each port which depends on it have to be rebuild (eg to switch from openssl to libressl: portmaster -o libressl openssl && portmaster -r libressl should do the trick)
2
  • 1
    Could elaborate about the logic behind? Do I get it right, if this tells all future port-builds to use the openssl port I installed? Instead of whatever might have been installed already? – cimnine Jul 21 '16 at 9:57
  • You can't install, throught ports, two different OpenSSL implementations. This tells 1) if ports have to be linked to openssl part of your system (/usr/lib/lib{crypto,ssl}.so) or, a newer one, you may have installed via ports (/usr/local/lib/lib{crypto,ssl,tls}.so) ; 2) FreeBSD needs this to handle ports dependencies since this gives you the choice of the OpenSSL implementation you want to use. – julp Jul 21 '16 at 10:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.