Waf not configuring for any board after ardupilot update?

I last touched my personal repo of Ardupilot at the beginning of this month which was working fine with waf. I’ve just pulled a few hundred commits that have happened since from the main repo but now waf is broken. When i run:

./waf configure --board "any_board"

It gives me this error:

odin@INIVCTA-MACHINA:~/ardupilot$ ./waf configure --board KakuteH7
Setting top to                           : /home/odin/ardupilot
Setting out to                           : /home/odin/ardupilot/build
Autoconfiguration                        : enabled
Checking for program 'python'            : /usr/bin/python3
Checking for python version >= 3.6.9     : 3.10.12
Setting board to                         : KakuteH7
Using toolchain                          : arm-none-eabi
Checking for 'g++' (C++ compiler)        : /usr/lib/ccache/arm-none-eabi-g++
Checking for 'gcc' (C compiler)          : /usr/lib/ccache/arm-none-eabi-gcc
Checking for c flags '-MMD'              : yes
Checking for cxx flags '-MMD'            : yes
CXX Compiler                             : g++ 10.2.1
Checking for program 'make'              : /usr/bin/make
Checking for program 'arm-none-eabi-objcopy' : /opt/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-objcopy
Setup for MCU STM32H743xx
Default parameters path from hwdef: /home/odin/ardupilot/libraries/AP_HAL_ChibiOS/hwdef/KakuteH7/defaults.parm
Writing hwdef setup in /home/odin/ardupilot/build/KakuteH7/hwdef.h
MCU Flags: cortex-m7 ['-mcpu=cortex-m7', '-mfpu=fpv5-d16', '-mfloat-abi=hard']
Writing DMA map
Setting up as normal
Generating ldscript.ld
Checking for env.py
env set ENABLE_DFU_BOOT=0
env set WITH_FATFS=1
env set PROCESS_STACK=0x1C00
env set MAIN_STACK=0x600
env set IOMCU_FW=0
env set PERIPH_FW=0
env set BOARD_FLASH_SIZE=2048
env set EXT_FLASH_SIZE_MB=0
env set INT_FLASH_PRIMARY=False
env set ENABLE_CRASHDUMP=True
env set CPU_FLAGS=['-mcpu=cortex-m7', '-mfpu=fpv5-d16', '-mfloat-abi=hard', '-DARM_MATH_CM7', '-u_printf_float']
env set CORTEX=cortex-m7
env set APJ_BOARD_ID=1048
env set APJ_BOARD_TYPE=STM32H743xx
env set USBID=0x1209/0x5741
env set FLASH_RESERVE_START_KB=128
env set EXT_FLASH_RESERVE_START_KB=0
env set FLASH_TOTAL=1703936
env set HAS_EXTERNAL_FLASH_SECTIONS=0
env set CHIBIOS_BUILD_FLAGS=USE_FATFS=yes CHIBIOS_STARTUP_MK=os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32h7xx.mk CHIBIOS_PLATFORM_MK=os/hal/ports/STM32/STM32H7xx/platform.mk MCU=cortex-m7 ENV_UDEFS=-DCHPRINTF_USE_FLOAT=1
Enabling ChibiOS asserts                     : no
Disabling Watchdog                           : no
Enabling malloc guard                        : no
Enabling ChibiOS thread statistics           : no
Traceback (most recent call last):
  File "/home/odin/ardupilot/modules/waf/waflib/Scripting.py", line 158, in waf_entry_point
    run_commands()
  File "/home/odin/ardupilot/modules/waf/waflib/Scripting.py", line 251, in run_commands
    ctx = run_command(cmd_name)
  File "/home/odin/ardupilot/modules/waf/waflib/Scripting.py", line 235, in run_command
    ctx.execute()
  File "/home/odin/ardupilot/modules/waf/waflib/Configure.py", line 159, in execute
    super(ConfigurationContext, self).execute()
  File "/home/odin/ardupilot/modules/waf/waflib/Context.py", line 204, in execute
    self.recurse([os.path.dirname(g_module.root_path)])
  File "/home/odin/ardupilot/modules/waf/waflib/Context.py", line 286, in recurse
    user_function(self)
  File "/home/odin/ardupilot/wscript", line 529, in configure
    cfg.get_board().configure(cfg)
  File "/home/odin/ardupilot/Tools/ardupilotwaf/boards.py", line 48, in configure
    self.configure_env(cfg, env)
  File "/home/odin/ardupilot/Tools/ardupilotwaf/boards.py", line 1203, in configure_env
    cfg.srcnode.find_dir('modules/lwip/src/include/compat/posix').abspath()
AttributeError: 'NoneType' object has no attribute 'abspath'

Does anyone know what this is and how I can fix it?

Try running Tools/gittools/submodule-sync.sh

2 Likes

Thanks. This working ^^

1 Like