Hello,
I know this is a documented error but I'm still struggling to fully understand and fix this.
Context:
I'm trying to make my custom display driver working again on my project after a Zephyr (+LVGL) upgrade to 2.9.2.
The error:
Loading Zephyr default modules (Zephyr base).
-- Application: /Quantum
-- CMake version: 3.21.0
-- Found Python3: /opt/nordic/ncs/toolchains/b8efef2ad5/bin/python (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter
-- Cache files will be written to: /Users/ferez/Library/Caches/zephyr
-- Zephyr version: 3.7.99 (/opt/nordic/ncs/v2.9.2/zephyr)
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: nrf52840_quantum_v2, qualifiers: nrf52840
-- Found host-tools: zephyr 0.17.0 (/opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk)
-- Found toolchain: zephyr 0.17.0 (/opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk)
-- Found Dtc: /opt/nordic/ncs/toolchains/b8efef2ad5/bin/dtc (found suitable version "1.6.1", minimum required is "1.4.6")
-- Found BOARD.dts: /Quantum/boards/KiwiElectronics/nrf52840_quantum_v2/nrf52840_quantum_v2.dts
-- Found devicetree overlay: boards/KiwiElectronics/nrf52840_quantum_v2/nrf52840_quantum_v2_SSD1333.overlay
'label' is marked as deprecated in 'properties:' in /opt/nordic/ncs/v2.9.2/zephyr/dts/bindings/mtd/nordic,qspi-nor.yaml for node /soc/qspi@40029000/mx25r6435f@0.
'label' is marked as deprecated in 'properties:' in /Quantum/dts/bindings/display/solomon,ssd1333.yaml for node /soc/spi@4002f000/ssd1333@0.
-- Generated zephyr.dts: /Quantum/build/Quantum/zephyr/zephyr.dts
-- Generated devicetree_generated.h: /Quantum/build/Quantum/zephyr/include/generated/zephyr/devicetree_generated.h
-- Including generated dts.cmake file: /Quantum/build/Quantum/zephyr/dts.cmake
warning: NORDIC_QSPI_NOR (defined at /opt/nordic/ncs/v2.9.2/nrf/Kconfig.nrf:97,
drivers/flash/Kconfig.nordic_qspi_nor:4) was assigned the value 'y' but got the value 'n'. See
http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_NORDIC_QSPI_NOR and/or look up
NORDIC_QSPI_NOR in the menuconfig/guiconfig interface. The Application Development Primer, Setting
Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful
too.
Parsing /Quantum/Kconfig
Loaded configuration '/Quantum/boards/KiwiElectronics/nrf52840_quantum_v2/nrf52840_quantum_v2_defconfig'
Merged configuration '/Quantum/prj.conf'
Merged configuration '/Quantum/build/Quantum/zephyr/.config.sysbuild'
Configuration saved to '/Quantum/build/Quantum/zephyr/.config'
Kconfig header saved to '/Quantum/build/Quantum/zephyr/include/generated/zephyr/autoconf.h'
-- Found GnuLd: /opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi/bin/ld.bfd (found version "2.38")
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
-- Setting build type to 'MinSizeRel' as none was specified.
-- Using ccache: /opt/nordic/ncs/toolchains/b8efef2ad5/bin/ccache
CMake Warning at /opt/nordic/ncs/v2.9.2/zephyr/CMakeLists.txt:952 (message):
No SOURCES given to Zephyr library: drivers__display
Excluding target from build.
CMake Warning at /opt/nordic/ncs/v2.9.2/zephyr/CMakeLists.txt:952 (message):
No SOURCES given to Zephyr library: drivers__power_domain
Excluding target from build.
CMake Warning at /opt/nordic/ncs/v2.9.2/zephyr/CMakeLists.txt:2164 (message):
The CMake build type was set to 'MinSizeRel', but the optimization flag was set to '-Og'.
This may be intentional and the warning can be turned off by setting the CMake variable 'NO_BUILD_TYPE_WARNING'
-- Configuring done
-- Generating done
-- Build files have been written to: /Quantum/build/Quantum
-- Configuring done
-- Generating done
-- Build files have been written to: /Quantum/build
-- west build: building application
[...]
FAILED: zephyr/zephyr_pre0.elf zephyr/zephyr_pre0.map /Quantum/build/Quantum/zephyr/zephyr_pre0.map
: && ccache /opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc -Os -DNDEBUG -gdwarf-4 zephyr/CMakeFiles/zephyr_pre0.dir/misc/empty_file.c.obj -o zephyr/zephyr_pre0.elf zephyr/CMakeFiles/offsets.dir/./arch/arm/core/offsets/offsets.c.obj -T zephyr/linker_zephyr_pre0.cmd -Wl,-Map=/Quantum/build/Quantum/zephyr/zephyr_pre0.map -Wl,--whole-archive app/libapp.a zephyr/libzephyr.a zephyr/arch/common/libarch__common.a zephyr/arch/arch/arm/core/libarch__arm__core.a zephyr/arch/arch/arm/core/cortex_m/libarch__arm__core__cortex_m.a zephyr/arch/arch/arm/core/mpu/libarch__arm__core__mpu.a zephyr/lib/libc/newlib/liblib__libc__newlib.a zephyr/lib/libc/common/liblib__libc__common.a zephyr/soc/soc/nrf52840/libsoc__nordic.a zephyr/drivers/adc/libdrivers__adc.a zephyr/drivers/clock_control/libdrivers__clock_control.a zephyr/drivers/console/libdrivers__console.a zephyr/drivers/gpio/libdrivers__gpio.a zephyr/drivers/pinctrl/libdrivers__pinctrl.a zephyr/drivers/serial/libdrivers__serial.a zephyr/drivers/spi/libdrivers__spi.a zephyr/drivers/timer/libdrivers__timer.a modules/nrf/drivers/hw_cc3xx/lib..__nrf__drivers__hw_cc3xx.a modules/hal_nordic/nrfx/libmodules__hal_nordic__nrfx.a modules/lvgl/libmodules__lvgl.a modules/segger/libmodules__segger.a -Wl,--no-whole-archive zephyr/kernel/libkernel.a -L/Quantum/build/Quantum/zephyr zephyr/arch/common/libisr_tables.a -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mfp16-format=ieee -fuse-ld=bfd -Wl,--gc-sections -Wl,--build-id=none -Wl,--sort-common=descending -Wl,--sort-section=alignment -Wl,-u,_OffsetAbsSyms -Wl,-u,_ConfigAbsSyms -nostdlib -static -Wl,-X -Wl,-N -Wl,--orphan-handling=warn -Wl,-no-pie -L"/opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi"/lib/thumb/v7e-m+fp/hard -u_printf_float -specs=nano.specs /opt/nordic/ncs/v2.9.2/nrfxlib/crypto/nrf_cc310_platform/lib/cortex-m4/hard-float/no-interrupts/libnrf_cc310_platform_0.9.19.a -lc -L"/opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/thumb/v7e-m+fp/hard" -lm -lc -lgcc -lc && cd /Quantum/build/Quantum/zephyr && /opt/nordic/ncs/toolchains/b8efef2ad5/Cellar/cmake/3.21.0/bin/cmake -E true
/opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: app/libapp.a(view.c.obj): in function `init_lvgl':
/Quantum/src/view/view.c:543: undefined reference to `__device_dts_ord_139'
/opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: modules/lvgl/libmodules__lvgl.a(lvgl.c.obj): in function `lvgl_init':
/opt/nordic/ncs/v2.9.2/zephyr/modules/lvgl/lvgl.c:244: undefined reference to `__device_dts_ord_139'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
FAILED: _sysbuild/sysbuild/images/Quantum-prefix/src/Quantum-stamp/Quantum-build /Quantum/build/_sysbuild/sysbuild/images/Quantum-prefix/src/Quantum-stamp/Quantum-build
cd /Quantum/build/Quantum && /opt/nordic/ncs/toolchains/b8efef2ad5/Cellar/cmake/3.21.0/bin/cmake --build .
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /opt/nordic/ncs/toolchains/b8efef2ad5/bin/cmake --build /Quantum/build
What I've already done:
I tried to sync-up my project structure to https://github.com/nrfconnect/ncs-example-application/tree/main
I followed and check point by point https://docs.zephyrproject.org/latest/build/dts/troubleshooting.html
The code :
You can find the sanitized project and build folder here
I seek your help because I'm on it for a while now and I've run out of ideas.
Edit: I added more content on the github's build folder content.
Thanks !