HI, this seems mainline px4 build has no support for septentrio GNSS drive.
I tried to enable from px4-firmware config.
CONFIG_DRIVERS_GNSS_SEPTENTRIO=y
But getting error as below. Can you look into it and suggest the solution?
root@5367fe896de8:/usr/local/workspace# ./build.sh
+ echo '*** Starting build ***'
*** Starting build ***
+ source /home/build-env.sh
++ source /home/4.1.0.4/setup_sdk_env.source
+++ '[' -n '' ']'
+++ echo ''
+++ echo Setting up the Hexagon SDK environment locally
Setting up the Hexagon SDK environment locally
+++++ dirname /home/4.1.0.4/setup_sdk_env.source
++++ cd /home/4.1.0.4
++++ pwd
+++ DIR=/home/4.1.0.4
+++ export HEXAGON_SDK_ROOT=/home/4.1.0.4
+++ HEXAGON_SDK_ROOT=/home/4.1.0.4
+++ '[' -n '' ']'
+++ export ANDROID_ROOT_DIR=/home/4.1.0.4/tools/android-ndk-r19c
+++ ANDROID_ROOT_DIR=/home/4.1.0.4/tools/android-ndk-r19c
+++ export QNX_HOST=/home/4.1.0.4/tools/qnx/qnx_700/host/linux/x86_64/
+++ QNX_HOST=/home/4.1.0.4/tools/qnx/qnx_700/host/linux/x86_64/
+++ export QNX_TARGET=/home/4.1.0.4/tools/qnx/qnx_700/target/qnx7/
+++ QNX_TARGET=/home/4.1.0.4/tools/qnx/qnx_700/target/qnx7/
+++ echo HEXAGON_SDK_ROOT is : /home/4.1.0.4
HEXAGON_SDK_ROOT is : /home/4.1.0.4
+++ export SDK_SETUP_ENV=Done
+++ SDK_SETUP_ENV=Done
+++ export LD_LIBRARY_PATH=:/home/4.1.0.4/tools/libusb/
+++ LD_LIBRARY_PATH=:/home/4.1.0.4/tools/libusb/
+++ export DEFAULT_HEXAGON_TOOLS_ROOT=/home/4.1.0.4/tools/HEXAGON_Tools/8.4.05
+++ DEFAULT_HEXAGON_TOOLS_ROOT=/home/4.1.0.4/tools/HEXAGON_Tools/8.4.05
+++ export DEFAULT_DSP_ARCH=v65
+++ DEFAULT_DSP_ARCH=v65
+++ export DEFAULT_BUILD=ReleaseG
+++ DEFAULT_BUILD=ReleaseG
+++ export DEFAULT_HLOS_ARCH=64
+++ DEFAULT_HLOS_ARCH=64
+++ export DEFAULT_TOOLS_VARIANT=toolv84
+++ DEFAULT_TOOLS_VARIANT=toolv84
+++ export DEFAULT_NO_QURT_INC=1
+++ DEFAULT_NO_QURT_INC=1
+++ export DEFAULT_TREE=1
+++ DEFAULT_TREE=1
+++ export CMAKE_ROOT_PATH=/home/4.1.0.4/tools/utils/cmake-3.17.0-Linux-x86_64
+++ CMAKE_ROOT_PATH=/home/4.1.0.4/tools/utils/cmake-3.17.0-Linux-x86_64
+++ echo 'Setting up the QAIC binary for the platform'
Setting up the QAIC binary for the platform
+++ make -C /home/4.1.0.4/ipc/fastrpc/qaic/
make: Entering directory '/home/4.1.0.4/ipc/fastrpc/qaic'
make: 'bin/qaic' is up to date.
make: Leaving directory '/home/4.1.0.4/ipc/fastrpc/qaic'
+++ '[' -d /home/4.1.0.4/tools/android-ndk-r19c ']'
+++ echo 'Could not find Androd ndk at /home/4.1.0.4/tools/android-ndk-r19c'
Could not find Androd ndk at /home/4.1.0.4/tools/android-ndk-r19c
+++ export WARNING=1
+++ WARNING=1
+++ '[' -d /home/4.1.0.4/tools/HEXAGON_Tools/8.4.05 ']'
+++ true
+++ '[' -n 1 ']'
+++ echo ''
+++ echo 'Please refer to /home/4.1.0.4/docs/tools/setup.html for installing the missed components'
Please refer to /home/4.1.0.4/docs/tools/setup.html for installing the missed components
+++ echo ''
++ export ARM_CROSS_GCC_ROOT=/home/4.1.0.4/tools/linaro64
++ ARM_CROSS_GCC_ROOT=/home/4.1.0.4/tools/linaro64
++ export HEXAGON_ARM_SYSROOT=/home/4.1.0.4/tools/linaro64/aarch64-linux-gnu/libc
++ HEXAGON_ARM_SYSROOT=/home/4.1.0.4/tools/linaro64/aarch64-linux-gnu/libc
++ export HEXAGON_TOOLS_ROOT=/home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools
++ HEXAGON_TOOLS_ROOT=/home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools
+ export PATH=/home/4.1.0.4/tools/linaro64/bin:/home/4.1.0.4/tools/linaro64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ PATH=/home/4.1.0.4/tools/linaro64/bin:/home/4.1.0.4/tools/linaro64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ APPS_BUILD=ON
+ SLPI_BUILD=ON
+ DEPS_BUILD=ON
+ getopts asd flag
+ cd px4-firmware
+ '[' ON == ON ']'
+ echo '*** Starting dependencies build ***'
*** Starting dependencies build ***
+ ./boards/modalai/voxl2/scripts/build-deps.sh
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 9.4.0
-- Check for working C compiler: /home/4.1.0.4/tools/linaro64/bin/aarch64-linux-gnu-gcc
-- Check for working C compiler: /home/4.1.0.4/tools/linaro64/bin/aarch64-linux-gnu-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/workspace/px4-firmware/boards/modalai/voxl2/libfc-sensor-api/build
Scanning dependencies of target fc_sensor
[ 50%] Building C object CMakeFiles/fc_sensor.dir/src/fc_sensor_stub.c.o
[100%] Linking C shared library libfc_sensor.so
[100%] Built target fc_sensor
+ echo '*** End of dependencies build ***'
*** End of dependencies build ***
+ '[' ON == ON ']'
+ echo '*** Starting apps processor build ***'
*** Starting apps processor build ***
+ make modalai_voxl2
-- PX4_GIT_TAG: v1.16.0-alpha2-379-g5fb810a5ea
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.10", minimum required is "3")
-- PX4 config file: /usr/local/workspace/px4-firmware/boards/modalai/voxl2/default.px4board
-- PLATFORM posix
-- LINUX_TARGET y
-- TOOLCHAIN aarch64-linux-gnu
-- ROMFSROOT px4fmu_common
-- ROOT_PATH /data/px4
-- PARAM_FILE /fs/mtd_params
-- PX4 config: modalai_voxl2_default
-- PX4 platform: posix
-- PX4 lockstep: disabled
-- The CXX compiler identification is GNU 7.5.0
-- The C compiler identification is GNU 7.5.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/4.1.0.4/tools/linaro64/bin/aarch64-linux-gnu-gcc
-- Check for working CXX compiler: /home/4.1.0.4/tools/linaro64/bin/aarch64-linux-gnu-g++
-- Check for working CXX compiler: /home/4.1.0.4/tools/linaro64/bin/aarch64-linux-gnu-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /home/4.1.0.4/tools/linaro64/bin/aarch64-linux-gnu-gcc
-- Check for working C compiler: /home/4.1.0.4/tools/linaro64/bin/aarch64-linux-gnu-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- cmake build type: RelWithDebInfo
-- ccache enabled (export CCACHE_DISABLE=1 to disable)
-- Skipping pwm file path /usr/local/workspace/px4-firmware/src/drivers/linux_pwm_out/module.yaml for VOXL2
-- Skipping pwm file path /usr/local/workspace/px4-firmware/src/drivers/pca9685_pwm_out/module.yaml for VOXL2
-- Skipping pwm file path /usr/local/workspace/px4-firmware/src/drivers/pwm_out/module.yaml for VOXL2
-- Skipping pwm file path /usr/local/workspace/px4-firmware/src/modules/simulation/pwm_out_sim/module_hil.yaml for VOXL2
-- Skipping pwm file path /usr/local/workspace/px4-firmware/src/modules/simulation/pwm_out_sim/module_sim.yaml for VOXL2
-- Skipping spacecraft file path /usr/local/workspace/px4-firmware/src/modules/spacecraft/module.yaml for VOXL2
-- ROMFS: ROMFS/px4fmu_common
Architecture: amd64
==> CPACK_INSTALL_PREFIX = @DEB_INSTALL_PREFIX@
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/workspace/px4-firmware/build/modalai_voxl2_default
[1/626] git submodule src/modules/uxrce_dds_client/Micro-XRCE-DDS-Client
[4/626] git submodule src/drivers/gps/devices
[9/626] git submodule src/modules/mavlink/mavlink
[54/626] Performing configure step for 'libmicroxrceddsclient_project'
-- libmicroxrceddsclient_project configure command succeeded. See also /usr/local/workspace/px4-firmware/build/modalai_voxl2_default/src/modules/uxrce_dds_client/src/libmicroxrceddsclient_project-stamp/libmicroxrceddsclient_project-configure-*.log
[103/626] Performing build step for 'libmicroxrceddsclient_project'
-- libmicroxrceddsclient_project build command succeeded. See also /usr/local/workspace/px4-firmware/build/modalai_voxl2_default/src/modules/uxrce_dds_client/src/libmicroxrceddsclient_project-stamp/libmicroxrceddsclient_project-build-*.log
[284/626] Performing install step for 'libmicroxrceddsclient_project'
-- libmicroxrceddsclient_project install command succeeded. See also /usr/local/workspace/px4-firmware/build/modalai_voxl2_default/src/modules/uxrce_dds_client/src/libmicroxrceddsclient_project-stamp/libmicroxrceddsclient_project-install-*.log
[381/626] Building CXX object src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/septentrio.cpp.o
FAILED: src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/septentrio.cpp.o
/usr/bin/ccache /home/4.1.0.4/tools/linaro64/bin/aarch64-linux-gnu-g++ -DCONFIG_ARCH_BOARD_MODALAI_VOXL2 -DMODULE_NAME=\"septentrio\" -DPX4_MAIN=septentrio_app_main -D__CUSTOM_FILE_IO__ -D__PX4_LINUX -D__PX4_POSIX -D__STDC_FORMAT_MACROS -Dnoreturn_function="__attribute__((noreturn))" -I../../boards/modalai/voxl2/src -I../../platforms/posix/src/px4/common/include -I. -Isrc/lib -I../../platforms/posix/src/px4/generic/generic/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/posix/include -I../../boards/modalai/voxl2/libfc-sensor-api/inc -Iexternal/Install/include -O2 -g -DNDEBUG -fPIC -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 -DSEP_LOG_ERROR -std=gnu++14 -MD -MT src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/septentrio.cpp.o -MF src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/septentrio.cpp.o.d -o src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/septentrio.cpp.o -c ../../src/drivers/gnss/septentrio/septentrio.cpp
In file included from ../../src/drivers/gnss/septentrio/sbf/decoder.h:46:0,
from ../../src/drivers/gnss/septentrio/septentrio.h:63,
from ../../src/drivers/gnss/septentrio/septentrio.cpp:44:
../../src/drivers/gnss/septentrio/sbf/messages.h:101:21: error: 'septentrio::sbf::Header::id_number' is too small to hold all values of 'enum class septentrio::sbf::BlockID' [-Werror]
BlockID id_number: 13;
^~
compilation terminated due to -Wfatal-errors.
cc1plus: all warnings being treated as errors
[384/626] Building CXX object src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/sbf/decoder.cpp.o
FAILED: src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/sbf/decoder.cpp.o
/usr/bin/ccache /home/4.1.0.4/tools/linaro64/bin/aarch64-linux-gnu-g++ -DCONFIG_ARCH_BOARD_MODALAI_VOXL2 -DMODULE_NAME=\"septentrio\" -DPX4_MAIN=septentrio_app_main -D__CUSTOM_FILE_IO__ -D__PX4_LINUX -D__PX4_POSIX -D__STDC_FORMAT_MACROS -Dnoreturn_function="__attribute__((noreturn))" -I../../boards/modalai/voxl2/src -I../../platforms/posix/src/px4/common/include -I. -Isrc/lib -I../../platforms/posix/src/px4/generic/generic/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/posix/include -I../../boards/modalai/voxl2/libfc-sensor-api/inc -Iexternal/Install/include -O2 -g -DNDEBUG -fPIC -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 -DSEP_LOG_ERROR -std=gnu++14 -MD -MT src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/sbf/decoder.cpp.o -MF src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/sbf/decoder.cpp.o.d -o src/drivers/gnss/septentrio/CMakeFiles/driver__septentrio.dir/sbf/decoder.cpp.o -c ../../src/drivers/gnss/septentrio/sbf/decoder.cpp
In file included from ../../src/drivers/gnss/septentrio/sbf/decoder.h:46:0,
from ../../src/drivers/gnss/septentrio/sbf/decoder.cpp:42:
../../src/drivers/gnss/septentrio/sbf/messages.h:101:21: error: 'septentrio::sbf::Header::id_number' is too small to hold all values of 'enum class septentrio::sbf::BlockID' [-Werror]
BlockID id_number: 13;
^~
compilation terminated due to -Wfatal-errors.
cc1plus: all warnings being treated as errors
[386/626] Building CXX object src/drivers/actuators/voxl_esc/CMakeFiles/drivers__actuators__voxl_esc.dir/voxl_esc.cpp.o
ninja: build stopped: subcommand failed.
make: *** [Makefile:232: modalai_voxl2] Error 1
+ cat build/modalai_voxl2_default/src/lib/version/build_git_version.h
/* Auto Magically Generated file */
/* Do not edit! */
#pragma once
#define PX4_GIT_VERSION_STR "5fb810a5ea0bf6c8d9e0f69251a44ad8e3d4b2ce"
#define PX4_GIT_VERSION_BINARY 0x5fb810a5ea0bf6c8
#define PX4_GIT_TAG_STR "v1.16.0-alpha2-379-g5fb810a5ea"
#define PX4_GIT_BRANCH_NAME ""
#define PX4_GIT_OEM_VERSION_STR ""
#define PX4_GIT_TAG_OR_BRANCH_NAME "main" // special variable: git tag, release or main branch
#define MAVLINK_LIB_GIT_VERSION_STR "8690e10164da864d7d36a3daad5547662e7a4103"
#define MAVLINK_LIB_GIT_VERSION_BINARY 0x8690e10164da864d
#define NUTTX_GIT_VERSION_STR "205b3100f8f63944a45faa5cfb5d3f86e904ee59"
#define NUTTX_GIT_VERSION_BINARY 0x205b3100f8f63944
#define NUTTX_GIT_TAG_STR "v11.0.0"
+ echo '*** End of apps processor build ***'
*** End of apps processor build ***
+ '[' ON == ON ']'
+ echo '*** Starting qurt slpi build ***'
*** Starting qurt slpi build ***
+ make modalai_voxl2-slpi
-- PX4_GIT_TAG: v1.16.0-alpha2-379-g5fb810a5ea
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.10", minimum required is "3")
-- PX4 config file: /usr/local/workspace/px4-firmware/boards/modalai/voxl2-slpi/default.px4board
-- PLATFORM qurt
-- TOOLCHAIN qurt
-- ROMFSROOT px4fmu_common
-- ROOT_PATH /fs/microsd
-- PARAM_FILE /fs/mtd_params
-- PX4 config: modalai_voxl2-slpi_default
-- PX4 platform: qurt
-- The CXX compiler identification is Clang 10.0.0
-- The C compiler identification is Clang 10.0.0
-- The ASM compiler identification is unknown
-- Found assembler: /home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools/bin/hexagon-clang
-- Check for working CXX compiler: /home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools/bin/hexagon-clang++
-- Check for working CXX compiler: /home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools/bin/hexagon-clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools/bin/hexagon-clang
-- Check for working C compiler: /home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools/bin/hexagon-clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Detecting C compile features
-- Detecting C compile features - done
-- Warning: Did not find file Compiler/-ASM
-- cmake build type: RelWithDebInfo
-- ccache enabled (export CCACHE_DISABLE=1 to disable)
-- Mavlink include directory: /usr/local/workspace/px4-firmware/../build/modalai_voxl2_default/mavlink/standard
-- Mavlink include directory: /usr/local/workspace/px4-firmware/../build/modalai_voxl2_default/mavlink/common
-- Skipping pwm file path /usr/local/workspace/px4-firmware/src/drivers/linux_pwm_out/module.yaml for VOXL2
-- Skipping pwm file path /usr/local/workspace/px4-firmware/src/drivers/pca9685_pwm_out/module.yaml for VOXL2
-- Skipping pwm file path /usr/local/workspace/px4-firmware/src/drivers/pwm_out/module.yaml for VOXL2
-- Skipping pwm file path /usr/local/workspace/px4-firmware/src/modules/simulation/pwm_out_sim/module_hil.yaml for VOXL2
-- Skipping pwm file path /usr/local/workspace/px4-firmware/src/modules/simulation/pwm_out_sim/module_sim.yaml for VOXL2
-- Skipping spacecraft file path /usr/local/workspace/px4-firmware/src/modules/spacecraft/module.yaml for VOXL2
Architecture: amd64
==> CPACK_INSTALL_PREFIX = @DEB_INSTALL_PREFIX@
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/workspace/px4-firmware/build/modalai_voxl2-slpi_default
[0/746] git submodule src/drivers/gps/devices
[746/746] Linking CXX shared library platforms/qurt/libpx4.so
+ cat build/modalai_voxl2-slpi_default/src/lib/version/build_git_version.h
cat: build/modalai_voxl2-slpi_default/src/lib/version/build_git_version.h: No such file or directory
+ echo '*** End of qurt slpi build ***'
*** End of qurt slpi build ***
+ cd -
/usr/local/workspace
++ stat -c %u .git/modules/px4-firmware
+ USER=1000
+ echo 'User ID is 1000'
User ID is 1000
+ chown -R 1000 .git/modules/px4-firmware
++ stat -c %g .git/modules/px4-firmware
+ GROUP=1000
+ echo 'Group ID is 1000'
Group ID is 1000
+ chgrp -R 1000 .git/modules/px4-firmware
+ echo '*** End of build ***'
*** End of build ***
root@5367fe896de8:/usr/local/workspace#
Thank you.