GPS SUPL dependancy issue

Hi, 

I have run into an issue where i get the following:

warning: SUPL_CLIENT_LIB (defined at /Users/saubin/Desktop/xws/nrf/lib/supl/Kconfig:7) has direct dependencies NEWLIB_LIBC with value n, but is currently being y-selected by the following symbols:
 - GNSS_SAMPLE_ASSISTANCE_SUPL (defined at /Users/saubin/Desktop/xws/agmuster/lib/gps/Kconfig:107), with value y, direct dependencies <choice> (value: y), and select condition <choice> (value: y)

If i'm reading this correctly, it is saying that SUPL_CLIENT_LIB depends on NEWLIB_LIBC being set to y. The problem is, NEWLIB_LIBC is being set to y. As seen below, this is my current proj.conf:

# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

# General Configuration
CONFIG_BLINK=y
CONFIG_LED=y
CONFIG_BUTTON=y
CONFIG_ASSERT=y
CONFIG_MISC=y

# Logging
CONFIG_LOG=y
CONFIG_LOG_BUFFER_SIZE=2048
CONFIG_DEBUG_COREDUMP=y
CONFIG_DEBUG_COREDUMP_BACKEND_LOGGING=y

# Memory Configuration
CONFIG_HEAP_MEM_POOL_SIZE=8192
CONFIG_MAIN_STACK_SIZE=4096
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048

# GNSS and GPS Configuration
CONFIG_GEO=y
CONFIG_GPS=y
CONFIG_GNSS_SAMPLE_LOW_ACCURACY=y
CONFIG_GNSS_SAMPLE_MODE_PERIODIC=y
CONFIG_GNSS_SAMPLE_PERIODIC_INTERVAL=10
CONFIG_GNSS_SAMPLE_ASSISTANCE_SUPL=y
CONFIG_GNSS_SAMPLE_SUPL_HOSTNAME="supl.google.com"

# LTE Configuration
CONFIG_LTE_LINK_CONTROL=y
CONFIG_LTE_NETWORK_MODE_LTE_M_GPS=y
CONFIG_LTE_EDRX_REQ=n
CONFIG_LTE_PSM_REQ=n

# Power Management
CONFIG_PM=n
CONFIG_PM_DEVICE_RUNTIME=n

# Networking
CONFIG_NETWORKING=y
CONFIG_NET_NATIVE=y
CONFIG_NET_IPV4=y
CONFIG_NRF_MODEM_LIB=y
CONFIG_MODEM_INFO=y

# AWS IoT Configuration
CONFIG_AWS=y
CONFIG_AWS_IOT=y
CONFIG_AWS_IOT_CLIENT_ID_STATIC="XXXX"
CONFIG_AWS_IOT_BROKER_HOST_NAME="XXXXXXX"
CONFIG_AWS_IOT_TOPIC_UPDATE_DELTA_SUBSCRIBE=y
CONFIG_AWS_IOT_TOPIC_GET_ACCEPTED_SUBSCRIBE=y
CONFIG_AWS_IOT_TOPIC_GET_REJECTED_SUBSCRIBE=y
CONFIG_AWS_APP_VERSION="1.0.0"
CONFIG_AWS_DEVICE_ID_USE_HW_ID=y
CONFIG_AWS_PUBLICATION_INTERVAL_SECONDS=1200

# MQTT Configuration
CONFIG_MQTT_HELPER=y
CONFIG_MQTT_HELPER_SEC_TAG=201
CONFIG_MQTT_HELPER_LAST_WILL=y
CONFIG_MQTT_HELPER_STACK_SIZE=4096
CONFIG_MQTT_KEEPALIVE=1200
CONFIG_MQTT_CLEAN_SESSION=y

# Libraries and Utilities
CONFIG_JSON_LIBRARY=y
CONFIG_CJSON_LIB=y
CONFIG_HW_ID_LIBRARY=y
CONFIG_HW_ID_LIBRARY_SOURCE_DEVICE_ID=y
CONFIG_DATA_STORE=y
CONFIG_POLY=y

# Modem Configuration
CONFIG_MODEM_ANTENNA_AT_COEX0="AT%XCOEX0=1,1,1565,1586"
CONFIG_NRF_MODEM_LIB_TRACE=y
CONFIG_AT_HOST_LIBRARY=y

# Newlib Configuration
CONFIG_NEWLIB_LIBC=y


Ive also added SUPL_CLIENT_LIB=y and run into the same issue. When i remove CONFIG_GNSS_SAMPLE_ASSISTANCE_SUPL and add SUPL_CLIENT_LIB, it works but does not run the SUPL code. 

Is it possible that NEWLIB_LIBC being forced to no at some other place in the code base? I have not had these problems outside of v2.6.1, could it be an issue with the current firmware?

Version: v2.6.1

Board: nrf9161DK

Any help would be greatly appreciated. 

Thanks !

  • Hi,

    Can you provide more information about your application? Is it based on any of the NCS samples?

    I have not had these problems outside of v2.6.1, could it be an issue with the current firmware?

    Have you tried using other NCS versions? Did your application work in any other NCS version except for v2.6.1?

    Best regards,
    Dejan

  • Hi  , 

    Thanks for getting back to me. 

    When using v2.6.1 in the nordic workplace (ie the one located /opt/nordic/ncs/v2.6.1/nrf), the GNSS sample works with SUPL with the addition of these in the KCONFIG:

    CONFIG_GNSS_SAMPLE_SUPL_HOSTNAME="supl.google.com"
    CONFIG_GNSS_SAMPLE_ASSISTANCE_SUPL=y
    CONFIG_NEWLIB_LIBC=y

    I also tried v2.7.0 and got:

    warning: SUPL_CLIENT_LIB (defined at /Users/saubin/Desktop/xws/nrf/lib/supl/Kconfig:7) has direct dependencies NEWLIB_LIBC with value n, but is currently being y-selected by the following symbols:
     - GNSS_SAMPLE_ASSISTANCE_SUPL (defined at /Users/saubin/Desktop/xws/agmuster/lib/gps/Kconfig:107), with value y, direct dependencies <choice> (value: y), and select condition <choice> (value: y)
    
    error: Aborting due to Kconfig warnings

    I find the warnings very weird since I am setting CONFIG_NEWLIB_LIBC=y. The app is based on the NCS GNSS example, where the GPS logic is converted into a library. 

    Is there any way to check  CONFIG_NEWLIB_LIBC is being assigned to y or if there are any other places in the code CONFIG_NEWLIB_LIBC is being forced to n? 

    Thanks for taking the time!

  • Hi,

    Have you modified your project configuration file prj.conf in NCS v2.7.0 compared to what you posted in your initial question? If yes, could you send it?

    Can you provide working prj.conf that you used in NCS v2.6.1?
    Can you provide your build command, build\zephyr\.config file, and full build log when you used NCS v2.7.0?
    You can upload files by clicking on Insert -> Image/video/file -> Upload.

    Best regards,
    Dejan

  • To fix the issue, I change the kconfig file under the supl directory:

    config SUPL_CLIENT_LIB
    	bool "SUPL Client library"
    	# depends on NEWLIB_LIBC (COMMENTED OUT)
    	help
    	  A library for accessing A-GNSS data using the SUPL protocol.
    

Related