bloomberg/comdb2

Unable to install Comdb2 on Ubuntu 22.04 x64 - ‘AES_cbc_encrypt’ is deprecated:

johnengstrom opened this issue · 2 comments

Describe the bug
After running mkdir build && cd build && cmake .. && make && sudo make install I encountered a crash at around 13%.

/root/comdb2/berkdb/crypto/aes_method.c: In function ‘__aes_decrypt’:
/root/comdb2/berkdb/crypto/aes_method.c:105:9: error: ‘AES_cbc_encrypt’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
  105 |         AES_cbc_encrypt(cipher, cipher, cipher_len, &aes->decrypt_key, iv, AES_DECRYPT);
      |         ^~~~~~~~~~~~~~~
In file included from /root/comdb2/berkdb/dbinc/crypto.h:56,
                 from /root/comdb2/berkdb/crypto/aes_method.c:24:
/usr/include/openssl/aes.h:66:6: note: declared here

To Reproduce
Steps to reproduce the behavior:

  1. Start an Ubuntu 22.04 x64 container on Digital Ocean
  2. Update and upgrade the server
  3. Clone the comdb2 repo
  4. Install comdb2 dependencies
  5. run mkdir build && cd build && cmake .. && make && sudo make install
  6. Watch for error around 13% completed

Expected behavior
I expected no errors

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • Ubuntu 22.04 x64
  • SSH session

Additional context
I did not have this issue on Ubuntu 20.x,
My concern is the error message, AES_cbc_encrypt’ is deprecated.

@johnengstrom Thank you for reporting the bug. I believe this is fixed by #3455.

I've attempted a fix that removes the #pragma in #4840 by implementing the EVP API for AES-256 and SHA-1.