CFEngine 3.6 on RHEL3 is unable to compile as it tries to use EVP_PKEY_cmp. On RHEL3 (OpenSSL 0.9.7a Feb 19 2003), EVP_PKEY_cmp did not exist yet.
The only solution I found yet was to backport the EVP_PKEY_cmp function from OpenSSL 0.9.8 and use it like this:
int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b);
And to alter configure.ac to define HAVE_DECL_EVP_PKEY_CMP if EVP_PKEY_cmp is here.
I am not really comfortable with this solution, but I can not find a more elegant solution for now, do anyone have an idea how to solve this properly ?