microsoft / Azure-Kinect-Sensor-SDK

A cross platform (Linux and Windows) user mode SDK to read data from your Azure Kinect device.
https://Azure.com/Kinect
MIT License
1.47k stars 613 forks source link

Still NOT compatible with OpenSSL 3? #1979

Open jiapei100 opened 1 month ago

jiapei100 commented 1 month ago

Describe the bug Trying to build Azure-Kinect-Sensor-SDK from source on Ubuntu 24.04, but failed again. It seems to me the same things happened on Ubuntu 22.04.

To Reproduce

Just build it from source.

Expected behavior

Of course, successfully built.

Logs

[  3%] Building C object extern/azure_c_shared/src/CMakeFiles/aziotsharedutil.dir/adapters/tlsio_openssl.c.o
cd ....../Azure-Kinect-Sensor-SDK/build/extern/azure_c_shared/src && /usr/bin/cc -DARCHITECTURE_x86_64=1 -Daziotsharedutil_EXPORTS -I....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/inc -I....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/pal/linux -I....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/deps/umock-c/inc -I....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/deps/azure-macro-utils-c/inc -D_POSIX_C_SOURCE=200112L  -Werror -Werror -Wall -Wextra -Wformat=2 -Wformat-security -DUSE_OPENSSL -Wno-unused-variable -Wno-missing-braces -Wno-missing-field-initializers -Wno-format-nonliteral -O2 -g -DNDEBUG -std=gnu99 -fPIC -fvisibility=hidden -MD -MT extern/azure_c_shared/src/CMakeFiles/aziotsharedutil.dir/adapters/tlsio_openssl.c.o -MF CMakeFiles/aziotsharedutil.dir/adapters/tlsio_openssl.c.o.d -o CMakeFiles/aziotsharedutil.dir/adapters/tlsio_openssl.c.o -c ....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/adapters/tlsio_openssl.c
....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/adapters/tlsio_openssl.c: In function ‘add_certificate_to_store’:
....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/adapters/tlsio_openssl.c:872:24: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
  872 |             bio_method = BIO_s_mem();
      |                        ^
....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/adapters/tlsio_openssl.c: In function ‘create_openssl_instance’:
....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/adapters/tlsio_openssl.c:943:9: error: ‘TLSv1_2_method’ is deprecated: Since OpenSSL 1.1.0 [-Werror=deprecated-declarations]
  943 |         method = TLSv1_2_method();
      |         ^~~~~~
In file included from ....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/adapters/tlsio_openssl.c:5:
/usr/include/openssl/ssl.h:2031:50: note: declared here
 2031 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_2_method(void); /* TLSv1.2 */
      |                                                  ^~~~~~~~~~~~~~
....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/adapters/tlsio_openssl.c:947:9: error: ‘TLSv1_1_method’ is deprecated: Since OpenSSL 1.1.0 [-Werror=deprecated-declarations]
  947 |         method = TLSv1_1_method();
      |         ^~~~~~
/usr/include/openssl/ssl.h:2023:50: note: declared here
 2023 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_1_method(void); /* TLSv1.1 */
      |                                                  ^~~~~~~~~~~~~~
....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/adapters/tlsio_openssl.c:951:9: error: ‘TLSv1_method’ is deprecated: Since OpenSSL 1.1.0 [-Werror=deprecated-declarations]
  951 |         method = TLSv1_method();
      |         ^~~~~~
/usr/include/openssl/ssl.h:2015:50: note: declared here
 2015 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_method(void); /* TLSv1.0 */
      |                                                  ^~~~~~~~~~~~
....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/adapters/tlsio_openssl.c: In function ‘tlsio_openssl_init’:
....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/adapters/tlsio_openssl.c:1066:5: error: ‘ERR_load_BIO_strings’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
 1066 |     ERR_load_BIO_strings();
      |     ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/openssl/cryptoerr.h:17,
                 from /usr/include/openssl/crypto.h:38,
                 from /usr/include/openssl/comp.h:22,
                 from /usr/include/openssl/ssl.h:28:
/usr/include/openssl/cryptoerr_legacy.h:31:27: note: declared here
   31 | OSSL_DEPRECATEDIN_3_0 int ERR_load_BIO_strings(void);
      |                           ^~~~~~~~~~~~~~~~~~~~
....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/adapters/tlsio_openssl.c: In function ‘tlsio_openssl_deinit’:
....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/adapters/tlsio_openssl.c:1094:5: error: ‘ERR_remove_thread_state’ is deprecated: Since OpenSSL 1.1.0 [-Werror=deprecated-declarations]
 1094 |     ERR_remove_thread_state(NULL);
      |     ^~~~~~~~~~~~~~~~~~~~~~~
In file included from ....../Azure-Kinect-Sensor-SDK/extern/azure_c_shared/src/adapters/tlsio_openssl.c:6:
/usr/include/openssl/err.h:485:30: note: declared here
  485 | OSSL_DEPRECATEDIN_1_1_0 void ERR_remove_thread_state(void *);
      |                              ^~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [extern/azure_c_shared/src/CMakeFiles/aziotsharedutil.dir/build.make:737: extern/azure_c_shared/src/CMakeFiles/aziotsharedutil.dir/adapters/tlsio_openssl.c.o] Error 1
make[2]: Leaving directory '....../Azure-Kinect-Sensor-SDK/build'
make[1]: *** [CMakeFiles/Makefile2:2908: extern/azure_c_shared/src/CMakeFiles/aziotsharedutil.dir/all] Error 2
make[1]: Leaving directory '....../Azure-Kinect-Sensor-SDK/build'
make: *** [Makefile:169: all] Error 2

Screenshots

N/A

Desktop (please complete the following information):

Additional context

N/A

Cheers