When building with -DUSE_SYSTEM_MBEDTLS_LIBS=ON hyperion doesn't get linked against shared objects
envgap__hyperion-project__hyperion.ng-883
01 / FAILURE SIGNATURE
As reported upstream
../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::getCiphersuites() [clone .localalias]: error: undefined reference to 'mbedtls_ssl_list_ciphersuites'
Not a benchmark task.
- In a clean container the reported failure did not reproduce, or the known fix did not make the project run.
02 / ENVIRONMENT RECIPE
- Base commit
cce698098250724013e8523193f4625ec026e7fe- Manifest
CMakeLists.txt- Reproduce
Awaiting issue-specific recipe- Run under trace
Awaiting a meaningful runtime command
03 / ORIGINAL ISSUE TEXT
hyperion-project/hyperion.ng #883 · read the original issue
<!-- Please don't delete this template or we'll close your issue --> <!-- Before creating an issue please make sure you are using the latest version of Hyperion. --> <!-- Please confirm you will submit an issue. --> <!-- Issues which contain questions or support requests will be closed. --> <!-- (Update "[ ]" to "[x]" to check a box) --> - [x] I confirm that this is an issue rather than a question. <!-- Please ask questions here --> <!-- https://hyperion-project.org --> ## Bug report When building with `-DUSE_SYSTEM_MBEDTLS_LIBS=ON` hyperion doesn't get linked against the mbedtls shared objects, hence, final linking fails due to unresolved symbols. Latest master as of the time writing this bug report: 8a9b44f #### Steps to reproduce Configure build via: `cmake -DENABLE_AMLOGIC=ON -DPLATFORM=linux -Dflatbuffers_DIR=/usr/lib/aarch64-linux-gnu/cmake/flatbuffers -DCMAKE_BUILD_TYPE=Release -DENABLE_SPIDEV=ON -DENABLE_WS281XPWM=ON -DENABLE_QT=OFF -DUSE_SYSTEM_MBEDTLS_LIBS=ON -DUSE_SYSTEM_PROTO_LIBS=ON -DUSE_SYSTEM_FLATBUFFERS_LIBS=ON -DQT=OFF ..` and then `make` #### What is expected? Linking against mbledtls shared objects when using external system libs. #### What is actually happening? No linking against external mbedtls system libs - though specified - and therewith ending up with unresolved symbols. `make` fails with: ``` [ 98%] Built target hyperiond_autogen [ 98%] Linking CXX executable ../../bin/hyperiond ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::getCiphersuites() [clone .localalias]: error: undefined reference to 'mbedtls_ssl_list_ciphersuites' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::freeSSLConnection(): error: undefined reference to 'mbedtls_ssl_session_reset' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::freeSSLConnection(): error: undefined reference to 'mbedtls_net_free' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::freeSSLConnection(): error: undefined reference to 'mbedtls_ssl_free' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::freeSSLConnection(): error: undefined reference to 'mbedtls_ssl_config_free' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::freeSSLConnection(): error: undefined reference to 'mbedtls_x509_crt_free' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::freeSSLConnection(): error: undefined reference to 'mbedtls_ctr_drbg_free' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::freeSSLConnection(): error: undefined reference to 'mbedtls_entropy_free' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::errorMsg(int): error: undefined reference to 'mbedtls_strerror' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::seedingRNG(): error: undefined reference to 'mbedtls_entropy_init' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::seedingRNG(): error: undefined reference to 'mbedtls_entropy_func' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::seedingRNG(): error: undefined reference to 'mbedtls_entropy_func' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::seedingRNG(): error: undefined reference to 'mbedtls_ctr_drbg_seed' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::setupPSK(): error: undefined reference to 'mbedtls_ssl_conf_psk' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::closeSSLNotify(): error: undefined reference to 'mbedtls_ssl_close_notify' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::writeBytes(unsigned int, unsigned char const*): error: undefined reference to 'mbedtls_ssl_write' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::startSSLHandshake(): error: undefined reference to 'mbedtls_ssl_handshake' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::startSSLHandshake(): error: undefined reference to 'mbedtls_ssl_get_verify_result' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::startUPDConnection(): error: undefined reference to 'mbedtls_ssl_session_reset' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::startUPDConnection(): error: undefined reference to 'mbedtls_net_connect' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::startUPDConnection(): error: undefined reference to 'mbedtls_net_recv_timeout' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::startUPDConnection(): error: undefined reference to 'mbedtls_net_recv' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::startUPDConnection(): error: undefined reference to 'mbedtls_net_send' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::startUPDConnection(): error: undefined reference to 'mbedtls_net_recv_timeout' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::startUPDConnection(): error: undefined reference to 'mbedtls_net_recv' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::startUPDConnection(): error: undefined reference to 'mbedtls_net_send' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::startUPDConnection(): error: undefined reference to 'mbedtls_ssl_set_bio' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::startUPDConnection(): error: undefined reference to 'mbedtls_timing_get_delay' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::startUPDConnection(): error: undefined reference to 'mbedtls_timing_set_delay' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::startUPDConnection(): error: undefined reference to 'mbedtls_timing_get_delay' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::startUPDConnection(): error: undefined reference to 'mbedtls_timing_set_delay' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::startUPDConnection(): error: undefined reference to 'mbedtls_ssl_set_timer_cb' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::setupStructure(): error: undefined reference to 'mbedtls_ssl_config_defaults' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::setupStructure(): error: undefined reference to 'mbedtls_ssl_list_ciphersuites' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::setupStructure(): error: undefined reference to 'mbedtls_ssl_conf_authmode' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::setupStructure(): error: undefined reference to 'mbedtls_ssl_conf_ca_chain' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::setupStructure(): error: undefined reference to 'mbedtls_ssl_conf_ciphersuites' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::setupStructure(): error: undefined reference to 'mbedtls_ctr_drbg_random' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::setupStructure(): error: undefined reference to 'mbedtls_ctr_drbg_random' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::setupStructure(): error: undefined reference to 'mbedtls_ssl_conf_rng' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::setupStructure(): error: undefined reference to 'mbedtls_ssl_conf_handshake_timeout' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::setupStructure(): error: undefined reference to 'mbedtls_ssl_setup' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::setupStructure(): error: undefined reference to 'mbedtls_ssl_set_hostname' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::setupStructure(): error: undefined reference to 'mbedtls_ssl_conf_verify' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::setupStructure(): error: undefined reference to 'mbedtls_ssl_conf_dbg' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::setupStructure(): error: undefined reference to 'mbedtls_debug_set_threshold' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::setupStructure(): error: undefined reference to 'mbedtls_ssl_conf_read_timeout' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::initConnection(): error: undefined reference to 'mbedtls_net_init' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::initConnection(): error: undefined reference to 'mbedtls_ssl_init' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::initConnection(): error: undefined reference to 'mbedtls_ssl_config_init' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::initConnection(): error: undefined reference to 'mbedtls_x509_crt_init' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::initConnection(): error: undefined reference to 'mbedtls_ctr_drbg_init' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::ProviderUdpSSLVerify(void*, mbedtls_x509_crt*, int, unsigned int*): error: undefined reference to 'mbedtls_x509_crt_info' ../../lib/libleddevice.a(ProviderUdpSSL.cpp.o):ProviderUdpSSL.cpp:function ProviderUdpSSL::ProviderUdpSSLVerify(void*, mbedtls_x509_crt*, int, unsigned int*): error: undefined reference to 'mbedtls_x509_crt_verify_info' collect2: error: ld returned 1 exit status make[2]: *** [src/hyperion-remote/CMakeFiles/hyperion-remote.dir/build.make:152: bin/hyperion-remote] Error 1 make[1]: *** [CMakeFiles/Makefile2:2319: src/hyperion-remote/CMakeFiles/hyperion-remote.dir/all] Error 2 ``` #### System Debian Linux - bullseye on arm64 (Allwinner H6)
04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]