apache / nuttx

Apache NuttX is a mature, real-time embedded operating system (RTOS)
https://nuttx.apache.org/
Apache License 2.0
2.6k stars 1.11k forks source link

Interdependencies errors on CI #9301

Open tmedicci opened 1 year ago

tmedicci commented 1 year ago

The job https://github.com/apache/nuttx/actions/runs/4993159615/jobs/8941973789?pr=9138#step:7:448 shows an error while refreshing the arty_a7:netnsh defconfig.

This very same error happens while trying to build the master branch (OS: f61dc72892, APPS: 70a4010635):

make -j distclean && ./tools/configure.sh arty_a7:netnsh
  Copy files
  Select CONFIG_HOST_LINUX=y
  Refreshing...
CP: arch/dummy/Kconfig to /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/nuttx/arch/dummy/dummy_kconfig
CP: boards/dummy/Kconfig to /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/nuttx/boards/dummy/dummy_kconfig
LN: platform/board to /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/platform/dummy
LN: include/arch to arch/risc-v/include
LN: include/arch/board to /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/nuttx/boards/risc-v/litex/arty_a7/include
LN: drivers/platform to /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/nuttx/drivers/dummy
LN: include/arch/chip to /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/nuttx/arch/risc-v/include/litex
LN: arch/risc-v/src/chip to /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/nuttx/arch/risc-v/src/litex
LN: arch/risc-v/src/board to /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/nuttx/boards/risc-v/litex/arty_a7/src
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/audioutils
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/benchmarks
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/boot
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/canutils
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/crypto
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/examples/mcuboot
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/examples
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/fsutils
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/games
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/gpsutils
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/graphics
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/industry
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/interpreters/luamodules
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/interpreters
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/logging
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/math
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/mlearning
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/netutils
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/sdr
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/system
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/testing
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/wireless/bluetooth
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/wireless/ieee802154
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/wireless
mkkconfig in /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps
Loaded configuration '.config'
Configuration saved to '.config'
warning: LIBC_FLOATINGPOINT (defined at libs/libc/stdio/Kconfig:55) has direct dependencies !LIBM_NONE with value n, but is currently being y-selected by the following symbols:
 - NETUTILS_IPERF (defined at /home/tiago/Documents/work/espressif/projects/nuttx/nuttxspace/apps/netutils/iperf/Kconfig:6), with value y, direct dependencies NET (value: y), and select condition NET (value: y)
make: *** [tools/Unix.mk:663: olddefconfig] Error 1
ERROR: failed to refresh

I couldn't find any recent change to the Kconfigs that define those symbols. My guess: CI's machine was not using kconfiglib and was updated recently.

xiaoxiang781216 commented 1 year ago

Here is the change switch to kconfiglib: https://github.com/apache/nuttx/pull/8504 and treat Kconfig warning as error: https://github.com/apache/nuttx/pull/9211 But it's strange #9211 can pass CI without error.

tmedicci commented 1 year ago

It's indeed very strange...

I asked @lucasssvaz and @acassis to test on their machines and they also get the same error, but I couldn't find any recent change that would trigger it.

acassis commented 1 year ago

@tmedicci just a note: in my case and in Lucas' it was just a warning, it didn't prevent kconfiglib of working.

tmedicci commented 1 year ago

@tmedicci just a note: in my case and in Lucas' it was just a warning, it didn't prevent kconfiglib of working.

As far as I understood you didn't have kconfiglib installed (@lucasssvaz confirmed that).