I set up the PX4 development environment according to the instructions. I did not modify the source code and compiled it directly, but the following error occurred, causing the compilation to stop.
Environment: Ubuntu 20.4
Compilation command:
make px4_fmu-v3_default
log:[619/1331] Building CXX object src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/septentrio.cpp.obj
FAILED: src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/septentrio.cpp.obj
/usr/bin/arm-none-eabi-g++ -DCONFIG_ARCH_BOARD_PX4_FMU_V3 -DCONSTRAINED_MEMORY -DMODULE_NAME=\"septentrio\" -DPX4_MAIN=septentrio_app_main -D_SYS_CDEFS_H_ -D_SYS_REENT_H_ -D__CUSTOM_FILE_IO__ -D__PX4_NUTTX -D__STDC_FORMAT_MACROS -I../../boards/px4/fmu-v3/src -I../../platforms/nuttx/src/px4/common/include -I. -Isrc/lib -I../../platforms/nuttx/src/px4/stm/stm32f4/include -I../../platforms/common -I../../platforms/common/include -I../../src -I../../src/include -I../../src/lib -I../../src/lib/matrix -I../../src/modules -I../../platforms/nuttx/NuttX/nuttx/arch/arm/src/armv7-m -I../../platforms/nuttx/NuttX/nuttx/arch/arm/src/chip -I../../platforms/nuttx/NuttX/nuttx/arch/arm/src/common -I../../platforms/nuttx/NuttX/apps/include -Iexternal/Install/include -isystem ../../platforms/nuttx/NuttX/include/cxx -isystem ../../platforms/nuttx/NuttX/nuttx/include/cxx -isystem ../../platforms/nuttx/NuttX/nuttx/include -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Os -DNDEBUG -g -fdata-sections -ffunction-sections -fomit-frame-pointer -fmerge-all-constants -fno-signed-zeros -fno-trapping-math -freciprocal-math -fno-math-errno -fno-strict-aliasing -fvisibility=hidden -include visibility.h -Wall -Wextra -Werror -Warray-bounds -Wcast-align -Wdisabled-optimization -Wdouble-promotion -Wfatal-errors -Wfloat-equal -Wformat-security -Winit-self -Wlogical-op -Wpointer-arith -Wshadow -Wuninitialized -Wunknown-pragmas -Wunused-variable -Wno-missing-field-initializers -Wno-missing-include-dirs -Wno-unused-parameter -fdiagnostics-color=always -fno-builtin-printf -fno-strength-reduce -Wformat=1 -Wunused-but-set-variable -Wno-format-truncation -fcheck-new -Wreorder -Wno-overloaded-virtual -fno-rtti -fno-exceptions -fno-sized-deallocation -fno-threadsafe-statics -nostdinc++ -Wframe-larger-than=2048 -DSEP_LOG_ERROR -std=gnu++14 -MD -MT src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/septentrio.cpp.obj -MF src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/septentrio.cpp.obj.d -o src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/septentrio.cpp.obj -c ../../src/drivers/gnss/septentrio/septentrio.cpp
In file included from ../../src/drivers/gnss/septentrio/sbf/decoder.h:46,
from ../../src/drivers/gnss/septentrio/septentrio.h:63,
from ../../src/drivers/gnss/septentrio/septentrio.cpp:44:
../../src/drivers/gnss/septentrio/sbf/messages.h:101:10: error: 'septentrio::sbf::Header::id_number' is too small to hold all values of 'enum class septentrio::sbf::BlockID' [-Werror]
101 | BlockID id_number: 13;
I followed the instructions from the PX4 site here:
I am building for the 6X using “make px4_fmu-v6x_default”
I have made no changes to any files and followed the instructions to include building px4_sitl with gazebo-classic which ran fine and then installed QGC which also ran fine.
My error is as follows:
[546/1192] Building CXX object src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/sbf/decoder.cpp.obj
FAILED: src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/sbf/decoder.cpp.obj
/usr/bin/arm-none-eabi-g++ -DCONFIG_ARCH_BOARD_PX4_FMU_V6X -DMODULE_NAME=\"septentrio\" -DPX4_MAIN=septentrio_app_main -D_SYS_CDEFS_H_ -D_SYS_REENT_H_ -D__CUSTOM_FILE_IO__ -D__PX4_NUTTX -D__STDC_FORMAT_MACROS -I../../boards/px4/fmu-v6x/src -I../../platforms/nuttx/src/px4/common/include -I. -Isrc/lib -I../../platforms/nuttx/src/px4/stm/stm32h7/include -I../../platforms/common -I../../platforms/common/include -I../../src -I../../src/include -I../../src/lib -I../../src/lib/matrix -I../../src/modules -I../../platforms/nuttx/NuttX/nuttx/arch/arm/src/armv7-m -I../../platforms/nuttx/NuttX/nuttx/arch/arm/src/chip -I../../platforms/nuttx/NuttX/nuttx/arch/arm/src/common -I../../platforms/nuttx/NuttX/apps/include -Iexternal/Install/include -isystem ../../platforms/nuttx/NuttX/include/cxx -isystem ../../platforms/nuttx/NuttX/nuttx/include/cxx -isystem ../../platforms/nuttx/NuttX/nuttx/include -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -Os -DNDEBUG -g -fdata-sections -ffunction-sections -fomit-frame-pointer -fmerge-all-constants -fno-signed-zeros -fno-trapping-math -freciprocal-math -fno-math-errno -fno-strict-aliasing -fvisibility=hidden -include visibility.h -Wall -Wextra -Werror -Warray-bounds -Wcast-align -Wdisabled-optimization -Wdouble-promotion -Wfatal-errors -Wfloat-equal -Wformat-security -Winit-self -Wlogical-op -Wpointer-arith -Wshadow -Wuninitialized -Wunknown-pragmas -Wunused-variable -Wno-missing-field-initializers -Wno-missing-include-dirs -Wno-unused-parameter -fdiagnostics-color=always -fno-builtin-printf -fno-strength-reduce -Wformat=1 -Wunused-but-set-variable -Wno-format-truncation -fcheck-new -Wreorder -Wno-overloaded-virtual -fno-rtti -fno-exceptions -fno-sized-deallocation -fno-threadsafe-statics -nostdinc++ -Wframe-larger-than=2048 -DSEP_LOG_ERROR -std=gnu++14 -MD -MT src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/sbf/decoder.cpp.obj -MF src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/sbf/decoder.cpp.obj.d -o src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/sbf/decoder.cpp.obj -c ../../src/drivers/gnss/septentrio/sbf/decoder.cpp
In file included from ../../src/drivers/gnss/septentrio/sbf/decoder.h:46,
from ../../src/drivers/gnss/septentrio/sbf/decoder.cpp:42:
../../src/drivers/gnss/septentrio/sbf/messages.h:101:10: error: 'septentrio::sbf::Header::id_number' is too small to hold all values of 'enum class septentrio::sbf::BlockID' [-Werror]
101 | BlockID id_number: 13;
| ^~~~~~~~~
compilation terminated due to -Wfatal-errors.
cc1plus: all warnings being treated as errors
[550/1192] Building CXX object src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/septentrio.cpp.obj
FAILED: src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/septentrio.cpp.obj
/usr/bin/arm-none-eabi-g++ -DCONFIG_ARCH_BOARD_PX4_FMU_V6X -DMODULE_NAME=\"septentrio\" -DPX4_MAIN=septentrio_app_main -D_SYS_CDEFS_H_ -D_SYS_REENT_H_ -D__CUSTOM_FILE_IO__ -D__PX4_NUTTX -D__STDC_FORMAT_MACROS -I../../boards/px4/fmu-v6x/src -I../../platforms/nuttx/src/px4/common/include -I. -Isrc/lib -I../../platforms/nuttx/src/px4/stm/stm32h7/include -I../../platforms/common -I../../platforms/common/include -I../../src -I../../src/include -I../../src/lib -I../../src/lib/matrix -I../../src/modules -I../../platforms/nuttx/NuttX/nuttx/arch/arm/src/armv7-m -I../../platforms/nuttx/NuttX/nuttx/arch/arm/src/chip -I../../platforms/nuttx/NuttX/nuttx/arch/arm/src/common -I../../platforms/nuttx/NuttX/apps/include -Iexternal/Install/include -isystem ../../platforms/nuttx/NuttX/include/cxx -isystem ../../platforms/nuttx/NuttX/nuttx/include/cxx -isystem ../../platforms/nuttx/NuttX/nuttx/include -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -Os -DNDEBUG -g -fdata-sections -ffunction-sections -fomit-frame-pointer -fmerge-all-constants -fno-signed-zeros -fno-trapping-math -freciprocal-math -fno-math-errno -fno-strict-aliasing -fvisibility=hidden -include visibility.h -Wall -Wextra -Werror -Warray-bounds -Wcast-align -Wdisabled-optimization -Wdouble-promotion -Wfatal-errors -Wfloat-equal -Wformat-security -Winit-self -Wlogical-op -Wpointer-arith -Wshadow -Wuninitialized -Wunknown-pragmas -Wunused-variable -Wno-missing-field-initializers -Wno-missing-include-dirs -Wno-unused-parameter -fdiagnostics-color=always -fno-builtin-printf -fno-strength-reduce -Wformat=1 -Wunused-but-set-variable -Wno-format-truncation -fcheck-new -Wreorder -Wno-overloaded-virtual -fno-rtti -fno-exceptions -fno-sized-deallocation -fno-threadsafe-statics -nostdinc++ -Wframe-larger-than=2048 -DSEP_LOG_ERROR -std=gnu++14 -MD -MT src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/septentrio.cpp.obj -MF src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/septentrio.cpp.obj.d -o src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/septentrio.cpp.obj -c ../../src/drivers/gnss/septentrio/septentrio.cpp
In file included from ../../src/drivers/gnss/septentrio/sbf/decoder.h:46,
from ../../src/drivers/gnss/septentrio/septentrio.h:63,
from ../../src/drivers/gnss/septentrio/septentrio.cpp:44:
../../src/drivers/gnss/septentrio/sbf/messages.h:101:10: error: 'septentrio::sbf::Header::id_number' is too small to hold all values of 'enum class septentrio::sbf::BlockID' [-Werror]
101 | BlockID id_number: 13;
| ^~~~~~~~~
compilation terminated due to -Wfatal-errors.
cc1plus: all warnings being treated as errors
[555/1192] Building CXX object src/drivers/gps/CMakeFiles/drivers__gps.dir/gps.cpp.obj
ninja: build stopped: subcommand failed.
make: *** [Makefile:227: px4_fmu-v6x_default] Error 1