
OpenSSL Version Mismatches
**************************

Your system may have multiple versions of OpenSSL on it. it is
possible that some libraries which Cyrus can use might be linked
against different versions of the OpenSSL libraries, or that those may
be different from the version which Cyrus itself will use.

Major updates of OpenSSL are not always compatible with each other at
the API level. OpenSSL is used by many libraries and system components
and not all of those become compatible with the new version at the
same time. Because of this some Linux distributions choose to ship
multiple OpenSSL versions and allow components to use whichever
version is appropriate.

If two different versions of the OpenSSL libraries linked into one
program, it results in program instability. To check if this is
happening, look for warnings from the linker like the following:

   /usr/bin/ld: warning: libssl.so.10, needed by /usr/lib/gcc/x86_64-redhat-linux/7/../../../../lib64/libclamav.so, may conflict with libssl.so.1.1
   /usr/bin/ld: warning: libcrypto.so.10, needed by /usr/lib/gcc/x86_64-redhat-linux/7/../../../../lib64/libclamav.so, may conflict with libcrypto.so.1.1

In this case, ClamAV is still linked against OpenSSL 1.0, while Cyrus
is building with OpenSSL 1.1.


Libical v1.0.1 or v2.0
**********************

You may see warnings regarding libical v2.0 being recommended to
support certain functionality. Currently libical v1.0.1 is sufficient,
unless you need/want RSCALE (non-gregorian recurrences), VPOLL
(consensus scheduling), or VAVAILABILITY (specifying availability over
time) functionality. If v2 is required, it will need to be installed
from github.
