The latest version of clamav relies on OpenSSL, but libclamav doesn’t automatically intialize that connection. This patch we threw together for Mail-ClamAV-0.29 fixes the problem by calling cl_initialize_crypto() first.
*** ClamAV.pm.orig 2014-10-28 16:27:30.000000000 -0500 --- ClamAV.pm 2014-10-28 16:26:48.000000000 -0500 *************** *** 205,210 **** --- 205,215 ---- if (stat(path, &st) != 0) croak("%s does not exist: %s\n", path, strerror(errno)); + if ((status = cl_initialize_crypto()) != CL_SUCCESS) { + error(status); + return &PL_sv_undef; + } + if ((status = cl_init(CL_INIT_DEFAULT)) != CL_SUCCESS) { error(status); return &PL_sv_undef;