This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Assertion failed: CONFIG_FP_SOFTABI is not supported

Hello, I am having an Assertion failure like this:

Loading solution gps.emProject
Executing load commands
cmake -GNinja -DBOARD=nrf9160_pca10090ns -DBOARD_DIR=C:/Users/Yoon/ncs/v1.2.0/zephyr/boards/arm/nrf9160_pca10090 -DZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb -DGNUARMEMB_TOOLCHAIN_PATH=C:/Users/Yoon/ncs/v1.2.0/toolchain/opt -BC:/Users/Yoon/ncs/v1.2.0/nrf/samples/nrf9160/gps/build_nrf9160_pca10090ns -HC:/Users/Yoon/ncs/v1.2.0/nrf/samples/nrf9160/gps -DEXTRA_KCONFIG_TARGETS=menuconfig_ses -DEXTRA_KCONFIG_TARGET_COMMAND_FOR_menuconfig_ses=C:/Users/Yoon/ncs/v1.2.0/toolchain/segger_embedded_studio/html/configure_nordic_project_menuconfig.py
-- Zephyr version: 2.1.99
-- Selected BOARD nrf9160_pca10090ns
-- Found west: C:/Users/Yoon/ncs/v1.2.0/toolchain/opt/bin/Scripts/west.exe (found suitable version "0.6.3", minimum required is "0.6.0")
-- Loading C:/Users/Yoon/ncs/v1.2.0/zephyr/boards/arm/nrf9160_pca10090/nrf9160_pca10090ns.dts as base
Devicetree configuration written to C:/Users/Yoon/ncs/v1.2.0/nrf/samples/nrf9160/gps/build_nrf9160_pca10090ns/zephyr/include/generated/devicetree.conf
Parsing C:/Users/Yoon/ncs/v1.2.0/zephyr/Kconfig
C:/Users/Yoon/ncs/v1.2.0/nrf\lib\fprotect/Kconfig:20: WARNING: dt_int_val is deprecated.
C:/Users/Yoon/ncs/v1.2.0/bootloader/mcuboot/zephyr/Kconfig:37: WARNING: dt_int_val is deprecated.
Loaded configuration 'C:/Users/Yoon/ncs/v1.2.0/nrf/samples/nrf9160/gps/build_nrf9160_pca10090ns/zephyr/.config'
No change to 'C:/Users/Yoon/ncs/v1.2.0/nrf/samples/nrf9160/gps/build_nrf9160_pca10090ns/zephyr/.config'
-- Cache files will be written to: C:/Users/Yoon/ncs/v1.2.0/zephyr/.cache
CMake Error at C:/Users/Yoon/ncs/v1.2.0/zephyr/cmake/extensions.cmake:1457 (message):
  Assertion failed: CONFIG_FP_SOFTABI is not supported
Call Stack (most recent call first):
  ../../../ext/lib/bin/supl/CMakeLists.txt:16 (assert)


-- Configuring incomplete, errors occurred!
See also "C:/Users/Yoon/ncs/v1.2.0/nrf/samples/nrf9160/gps/build_nrf9160_pca10090ns/CMakeFiles/CMakeOutput.log".
See also "C:/Users/Yoon/ncs/v1.2.0/nrf/samples/nrf9160/gps/build_nrf9160_pca10090ns/CMakeFiles/CMakeError.log".
Project load failed
Reported error: solution load command failed (1)

My nrf/ext/lib/bin/supl/CMakeLists.txt looks like this:

#
# Copyright (c) 2018 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-BSD-5-Clause-Nordic
#

# CMakeLists.txt - SUPL Client Library for Zephyr

if(CONFIG_FPU)
  if(CONFIG_FP_HARDABI)
    set(float_dir hard-float)
  else()
    assert(0 "Unreachable code")
  endif()
else()
  assert(0 "CONFIG_FP_SOFTABI is not supported")
endif()

assert(GCC_M_CPU "GCC_M_CPU must be set to find correct lib")

set(lib_path lib/${GCC_M_CPU}/${float_dir})
set(SUPL_CLIENT_LIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/${lib_path})

set(SUPL_CLIENT_TARGET supl_client)

zephyr_include_directories(include)
zephyr_library_import(${SUPL_CLIENT_TARGET} ${SUPL_CLIENT_LIB_PATH}/libsupl.a)
target_link_libraries(${SUPL_CLIENT_TARGET} INTERFACE bsd_nrf9160_xxaa -lc)

Line 9 is already changed to if(CONFIG_FPU), as per the question: https://devzone.nordicsemi.com/f/nordic-q-a/62645/assertion-failed-config_fp_softabi-is-not-supported

The supl folders are in the correct respective positions: nrf/lib/supl (Untouched) and nrf/ext/lib/bin/supl (The new one)

This happens only when I try to use SUPL by enabling CONFIG_SUPL_CLIENT_LIB in the prj.conf of nrf9160 gps sample project.

Related