Error happen : "in function `_open_r': openr.c:(.text._open_r+0x10): undefined reference to `_open' ============================================================"

Hello members,

I have problem and got an error below.

============================================================

c:/ncs/toolchains/cf2149caf2/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: C:/ncs/toolchains/cf2149caf2/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi/lib/thumb/v8-m.main/nofp\libc_nano.a(lib_a-openr.o): in function `_open_r':
openr.c:(.text._open_r+0x10): undefined reference to `_open'

============================================================

Could you let me know how to fix this error ?

I don't find correct hint anything.

I'm using NRF connect SDK v2.6.1

Regards, 

  • Hello

    Thank you for your help.

    I'm doing try and error because, I'm configuring libcurl on zepher/NCS 2.6.1 - (+) how to use cURL with TLS implementation - Nordic Q&A - Nordic DevZone - Nordic DevZone (nordicsemi.com)

    at Final building phase, this error might happen.

    here is

    # Logging
    CONFIG_LOG=y
    CONFIG_LOG_DEFAULT_LEVEL=3
    #0 for no logs, 1 for errors, 2 for warnings, 3 for info, 4 for debug
    CONFIG_LOG_BUFFER_SIZE=10240

    # Button and LED support
    CONFIG_DK_LIBRARY=y

    # Newlib
    CONFIG_NEWLIB_LIBC=y

    # Networking
    CONFIG_NETWORKING=y
    CONFIG_NET_NATIVE=n
    CONFIG_NET_SOCKETS_OFFLOAD=y
    CONFIG_NET_SOCKETS=y
    #CONFIG_NET_SOCKETS_POSIX_NAMES=y
    CONFIG_NET_SOCKETS_POSIX_NAMES=n
    CONFIG_POSIX_API=y
    CONFIG_PTHREAD_IPC=n
    #CONFIG_NET_STATISTICS_ICMP=y

    #CONFIG_NET_TCP=y
    CONFIG_NET_IPV4=y
    CONFIG_NET_IPV6=n
    CONFIG_NET_TEST_PROTOCOL=y

    CONFIG_NET_CONFIG_SETTINGS=y

    #CONFIG_NET_SHELL=y
    #CONFIG_MODEM_SHELL=y
    #CONFIG_AT_SHELL=y
    CONFIG_AT_HOST_LIBRARY=y
    CONFIG_UART_INTERRUPT_DRIVEN=y
    #CONFIG_AT_HOST_UART_0=y
    CONFIG_AT_CMD_PARSER=y

    # Enable ICMP (for ping)
    CONFIG_DNS_RESOLVER=y

    # UART
    CONFIG_SERIAL=y

    # Modem
    CONFIG_MODEM=y
    CONFIG_MODEM_CONTEXT=y
    CONFIG_MODEM_CMD_HANDLER=y
    CONFIG_MODEM_SOCKET=y
    CONFIG_MODEM_INFO=y

    # Modem library
    CONFIG_NRF_MODEM_LIB=y
    #CONFIG_NRF_MODEM_LIB_AT_CMD=y
    #CONFIG_NRF_MODEM_LIB_SYS_INIT=y
    CONFIG_NRF_MODEM_LIB_HEAP_SIZE=4096
    #CONFIG_NRF_MODEM_LIB_TRACE_ENABLED=y
    #CONFIG_NRF_MODEM_LIB_TRACE_LEVEL=4

    # Network Setup
    CONFIG_PDN=y
    CONFIG_PDN_DEFAULTS_OVERRIDE=y
    CONFIG_PDN_DEFAULT_APN="iot.1nce.net"

    # Memory
    #CONFIG_MAIN_STACK_SIZE=16384
    #CONFIG_HEAP_MEM_POOL_SIZE=8192
    CONFIG_MAIN_STACK_SIZE=16384
    CONFIG_HEAP_MEM_POOL_SIZE=8192

    # thread
    #CONFIG_IDLE_STACK_SIZE=1024 # Stack size for the idle thread
    #CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048 # Stack size for the system workqueue

    #CONFIG_THREAD_NAME=y # Enable thread names for easier debugging
    #CONFIG_THREAD_MONITOR=y # Enable thread monitoring
    #CONFIG_KERNEL_LOG_LEVEL_DBG=y # Enable kernel debugging logs

    # Enable filesystem support
    CONFIG_FILE_SYSTEM=y
    CONFIG_FILE_SYSTEM_LITTLEFS=y

    # Enable flash support
    CONFIG_FLASH=y
    CONFIG_FLASH_MAP=y

    # LTE link control
    CONFIG_LTE_LINK_CONTROL=y
    #CONFIG_LTE_AUTO_INIT_AND_CONNECT=n
    CONFIG_LTE_NETWORK_MODE_LTE_M_NBIOT=y

    # MQTT
    # STEP 2.1 - Enable and configure the MQTT library
    CONFIG_MQTT_LIB=y
    CONFIG_MQTT_CLEAN_SESSION=y

    # libcurl
    CONFIG_NRF_CURL_INTEGRATION=y
    CONFIG_NRF_CURL=y
    CONFIG_APP_LINK_WITH_CURL=y
    #CONFIG_CURL_LIBCURL=y
    #CONFIG_NRF_CURL_PROMPTLESS=n
    #CONFIG_POSIX_API=n
    #CONFIG_PTHREAD_IPC=n
    #CONFIG_NRF_CURL=y
    #CONFIG_NRF_CURL_LIB=y
    #CONFIG_NRF_CURL_TOOL=y
    #CONFIG_CURL_INTEGRATION=y
    #CONFIG_CURL_HTTP=y
    #CONFIG_CURL_TLS=y

    # MbedTLS and security

    CONFIG_NET_TCP_ISN_RFC6528=y

    CONFIG_MBEDTLS=y
    CONFIG_APP_LINK_WITH_MBEDTLS=y
    CONFIG_MBEDTLS_ENTROPY_ENABLED=y
    CONFIG_NET_SOCKETS_SOCKOPT_TLS=y
    CONFIG_MBEDTLS_ENABLE_HEAP=y
    CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=4096
    CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
    CONFIG_MBEDTLS_HEAP_SIZE=32768
    CONFIG_MBEDTLS_RSA_C=y
    CONFIG_MBEDTLS_TLS_LIBRARY=y
    CONFIG_MBEDTLS_X509_LIBRARY=y
    CONFIG_MBEDTLS_PKCS1_V15=y
    CONFIG_NRF_SECURITY_ADVANCED=y
    CONFIG_NORDIC_SECURITY_BACKEND=y
    CONFIG_PSA_CRYPTO_DRIVER_CC3XX=y
    CONFIG_PSA_WANT_ALG_SHA_1=y
    CONFIG_PSA_WANT_ALG_RSA_PKCS1V15_CRYPT=y
    CONFIG_PSA_WANT_ALG_RSA_PKCS1V15_SIGN=y
    CONFIG_PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY=y

    #CONFIG_MBEDTLS_LIBRARY_NRF_SECURITY=y
    #CONFIG_MBEDTLS_LIBRARY=y

    CONFIG_NET_L2_OPENTHREAD=n
    #CONFIG_MBEDTLS_PSA_CRYPTO_C=n
    #CONFIG_TFM_PROFILE_TYPE=n
    #CONFIG_MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG=n
    CONFIG_NRF_SECURITY=y
    CONFIG_MBEDTLS_ENTROPY_C=y
    CONFIG_MBEDTLS_LEGACY_CRYPTO_C=y
    CONFIG_MBEDTLS_CTR_DRBG_C=y

    # RSA requires that at least one key size is enabled
    CONFIG_PSA_WANT_RSA_KEY_SIZE_1024=y

    # Modem key management needs to be set to n, if not the certificate are provisioned to the modem
    CONFIG_MODEM_KEY_MGMT=n

    CONFIG_MBEDTLS_GCM_C=y
    CONFIG_MBEDTLS_DHM_C=y
    CONFIG_MBEDTLS_X509_CRT_PARSE_C=y
    #CONFIG_MBEDTLS_ECP_ALL_ENABLED=y
    CONFIG_MBEDTLS_X509_REMOVE_INFO=n
    CONFIG_MBEDTLS_PK_WRITE_C=y


    CONFIG_MBEDTLS_ECP_C=y
    CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y
    CONFIG_MBEDTLS_BUILTIN=y
    CONFIG_MBEDTLS_TLS_LIBRARY=y
    #CONFIG_MBEDTLS_ERROR_C=y # Enable error reporting module

    # AT CMD
    CONFIG_AT_CMD_PARSER=y
    #CONFIG_AT_CMD_REQUESTS=y
    #CONFIG_AT_CMD=y
    #CONFIG_AT_CMD_SYS_INIT=y
    #CONFIG_AT_CMD_RESPONSE_MAX_LEN=256

  • Hi Shigenori, 

    I'm not so familiar with what you are asking so if the question is related to the other ticket I would suggest to continue there. If your issue is new and different from the ticket we can continue here but I will try to get help from Øyvind/Michal.
    Have you tried the suggestion I pointed to earlier ? 

  • Hello

    Thank you for your advice.

    Yes, tried however, no improved.

    I want to know which config is related and need configs to fix this trouble.

  • Hi Shigenori, 
    What did you try ? 
    Have you enable CONFIG_NEWLIB_LIBC_NANO=y ? From what I can see from the log it's the libc_nano library missing. 
    Could you send your .config file in the build folder ? 

    If possible please provide a sample that reproduce the issue so we can test here. 

Related