Hi everyone,
I’m facing a linker issue in NCS v3.0.2 while using the Zephyr HTTP client sample with TLS enabled, and I’m looking for guidance on the correct configuration.
Environment
-
NCS version: v3.0.2
-
Board: nRF52 (e.g. nRF52840)
-
Sample:
zephyr/samples/net/sockets/http_client -
TLS: Enabled via sample configuration
-
Toolchain: Zephyr SDK (GCC 12.2.0)
- Build system: west / sysbuild
Problem Description
I am building the zephyr/samples/net/sockets/http_client sample and enabling TLS support (HTTPS).
When I enable the following configs:
CONFIG_NRF_SECURITY=y
CONFIG_BT=y
the build fails at link time with multiple errors like this: undefined reference to `mbedtls_ssl_config_free'...

All undefined references originate from:
zephyr/subsys/net/lib/sockets/sockets_tls.c
Important Observation
If I disable: CONFIG_NRF_SECURITY=y the sample builds successfully.
As soon as CONFIG_NRF_SECURITY=y is enabled (together with CONFIG_BT=y), the linker fails with missing mbedtls_ssl_* symbols.
my prj.conf
# Networking core CONFIG_NETWORKING=y CONFIG_NET_L2_ETHERNET=y CONFIG_NET_IPV4=y CONFIG_NET_IPV6=n CONFIG_NET_TCP=y # DHCP CONFIG_NET_DHCPV4=y CONFIG_NET_DHCPV4_OPTION_CALLBACKS=y # Ethernet CONFIG_ETH_W5500=y # Sockets (MANDATORY) CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS_OFFLOAD=n CONFIG_POSIX_API=y # HTTP client CONFIG_HTTP_CLIENT=y # Logging CONFIG_LOG=y CONFIG_NET_LOG=y CONFIG_NET_SOCKETS_LOG_LEVEL_DBG=y CONFIG_NET_HTTP_LOG_LEVEL_DBG=y # Stack sizes (IMPORTANT for W5500) CONFIG_MAIN_STACK_SIZE=4096 CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096 CONFIG_NET_BUF_RX_COUNT=80 CONFIG_NET_BUF_TX_COUNT=80 # TLS configuration CONFIG_MBEDTLS=y CONFIG_MBEDTLS_BUILTIN=y CONFIG_MBEDTLS_ENABLE_HEAP=y CONFIG_MBEDTLS_HEAP_SIZE=60000 CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=2048 CONFIG_NET_SOCKETS_SOCKOPT_TLS=y CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=6 # CONFIG_BT=y CONFIG_NRF_SECURITY=y # REQUIRED when NRF_SECURITY is enabled CONFIG_MBEDTLS=y CONFIG_MBEDTLS_BUILTIN=y CONFIG_MBEDTLS_SSL_CLI_C=y CONFIG_MBEDTLS_ENTROPY_C=y CONFIG_MBEDTLS_CTR_DRBG_C=y
Any clarification or minimal working configuration would be greatly appreciated.
Thanks!
