bloomberg / comdb2

Bloomberg's distributed RDBMS
Other
1.39k stars 214 forks source link

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

Open johnengstrom opened 2 years ago

johnengstrom commented 2 years ago

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):

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

riverszhang89 commented 1 year ago

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

frumioj commented 1 week ago

I've attempted a fix that removes the #pragma in https://github.com/bloomberg/comdb2/pull/4840 by implementing the EVP API for AES-256 and SHA-1.