@Eric-Katzfey thank you for bearing with me, I have moved on to building the project, but running into some issues related to Hexagon SDK.
root@7508b7b53f9a:/usr/local/workspace# ./build.sh
*** Starting build ***
Setting up the Hexagon SDK environment locally
HEXAGON_SDK_ROOT is : /home/4.1.0.4
Setting up the QAIC binary for the platform
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'
Could not find Androd ndk at /home/4.1.0.4/tools/android-ndk-r19c
Please refer to /home/4.1.0.4/docs/tools/setup.html for installing the missed components
*** Starting dependencies build ***
-- 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
*** End of dependencies build ***
*** Starting apps processor build ***
-- PX4 version: v1.14.0-2.0.94-dev (1.14.0)
-- 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
-- ROOTFSDIR /data/px4
-- 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
-- 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
[0/568] git submodule src/modules/microdds_client/Micro-XRCE-DDS-Client
[4/568] git submodule src/drivers/gps/devices
[8/568] git submodule src/modules/mavlink/mavlink
[68/568] Performing configure step for 'libmicroxrceddsclient_project'
-- libmicroxrceddsclient_project configure command succeeded. See also /usr/local/workspace/px4-firmware/build/modalai_voxl2_default/src/modules/microdds_client/src/libmicroxrceddsclient_project-stamp/libmicroxrceddsclient_project-configure-*.log
[449/568] Performing build step for 'libmicroxrceddsclient_project'
-- libmicroxrceddsclient_project build command succeeded. See also /usr/local/workspace/px4-firmware/build/modalai_voxl2_default/src/modules/microdds_client/src/libmicroxrceddsclient_project-stamp/libmicroxrceddsclient_project-build-*.log
[453/568] Performing install step for 'libmicroxrceddsclient_project'
-- libmicroxrceddsclient_project install command succeeded. See also /usr/local/workspace/px4-firmware/build/modalai_voxl2_default/src/modules/microdds_client/src/libmicroxrceddsclient_project-stamp/libmicroxrceddsclient_project-install-*.log
[568/568] Linking CXX executable bin/px4
/* Auto Magically Generated file */
/* Do not edit! */
#pragma once
#define PX4_GIT_VERSION_STR "5e6a8c257371b6c45e55662daac5fe9fbd08040b"
#define PX4_GIT_VERSION_BINARY 0x5e6a8c257371b6c4
#define PX4_GIT_TAG_STR "v1.14.0-2.0.94-dev-dirty"
#define PX4_GIT_BRANCH_NAME ""
#define PX4_GIT_OEM_VERSION_STR ""
#define PX4_GIT_TAG_OR_BRANCH_NAME "v1.14.0-2.0.94-dev-dirty" // special variable: git tag, release or master branch
#define MAVLINK_LIB_GIT_VERSION_STR "3ee5382d0c96134b0e1c250d8c2d54bfed0166fa"
#define MAVLINK_LIB_GIT_VERSION_BINARY 0x3ee5382d0c96134b
#define NUTTX_GIT_VERSION_STR "3f77354c0dc88793a47ff3b57595195ab45f7ba9"
#define NUTTX_GIT_VERSION_BINARY 0x3f77354c0dc88793
#define NUTTX_GIT_TAG_STR "v11.0.0"
*** End of apps processor build ***
*** Starting qurt slpi build ***
-- PX4 version: v1.14.0-2.0.94-dev (1.14.0)
-- 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
-- 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++ -- broken
CMake Error at /usr/share/cmake-3.16/Modules/CMakeTestCXXCompiler.cmake:53 (message):
The C++ compiler
"/home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools/bin/hexagon-clang++"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /usr/local/workspace/px4-firmware/build/modalai_voxl2-slpi_default/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/ninja cmTC_f8c54 && [1/2] Building CXX object CMakeFiles/cmTC_f8c54.dir/testCXXCompiler.cxx.o
[2/2] Linking CXX executable cmTC_f8c54
FAILED: cmTC_f8c54
: && /home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools/bin/hexagon-clang++ -Wno-inconsistent-missing-override -DCONFIG_WCHAR_BUILTIN -D__CUSTOM_FILE_IO__ -mv66 -G0 -O3 -Wno-inconsistent-missing-override -DCONFIG_WCHAR_BUILTIN -D__CUSTOM_FILE_IO__ -mv66 -G0 -O3 -Wno-inconsistent-missing-override -DCONFIG_WCHAR_BUILTIN -D__CUSTOM_FILE_IO__ -mv66 -G0 -O3 -Wno-inconsistent-missing-override -DCONFIG_WCHAR_BUILTIN -D__CUSTOM_FILE_IO__ -mv66 -G0 -O3 -mv66 -mG0lib -G0 -fpic -shared -Wl,-Bsymbolic -Wl,--wrap=malloc -Wl,--wrap=calloc -Wl,--wrap=free -Wl,--wrap=realloc -Wl,--wrap=memalign -Wl,--wrap=__stack_chk_fail -Wl,/home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools/target/hexagon/lib/v66/G0/pic/libc++.a -lc -mv66 -mG0lib -G0 -fpic -shared -Wl,-Bsymbolic -Wl,--wrap=malloc -Wl,--wrap=calloc -Wl,--wrap=free -Wl,--wrap=realloc -Wl,--wrap=memalign -Wl,--wrap=__stack_chk_fail -Wl,/home/4.1.0.4/tools/HEXAGON_Tools/8.4.05/Tools/target/hexagon/lib/v66/G0/pic/libc++.a -lc CMakeFiles/cmTC_f8c54.dir/testCXXCompiler.cxx.o -o cmTC_f8c54 && :
hexagon-clang++: error: unable to execute command: Executable "hexagon-link" doesn't exist!
hexagon-clang++: error: hexagon-link command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:219 (project)
-- Configuring incomplete, errors occurred!
See also "/usr/local/workspace/px4-firmware/build/modalai_voxl2-slpi_default/CMakeFiles/CMakeOutput.log".
See also "/usr/local/workspace/px4-firmware/build/modalai_voxl2-slpi_default/CMakeFiles/CMakeError.log".
Error: /usr/local/workspace/px4-firmware/build/modalai_voxl2-slpi_default is not a directory
make: *** [Makefile:232: modalai_voxl2-slpi] Error 1
cat: build/modalai_voxl2-slpi_default/src/lib/version/build_git_version.h: No such file or directory
*** End of qurt slpi build ***
/usr/local/workspace
User ID is 1000
Group ID is 1000
*** End of build ***
When downloading I have selected the androidNDK.
841530cf-1384-4a25-8cdd-abc85da72c18-image.png
I then noticed that Hexagon sdk has the ability to download missing components. I tried using instructions provided in /home/4.1.0.4/docs/tools/setup.html to download missing components. To be specific, I tried this command:
$HEXAGON_SDK_ROOT/tools/hexagon_ide/jre/bin/java -jar $HEXAGON_SDK_ROOT/utils/scripts/depDl.jar -c <key> -t $HEXAGON_SDK_ROOT
with the <key> = fullndk. This failed.
When i tried checking out the directory of the java executable being called - the executable was not there. I wonder if this is a problem that occurred because of the installation issue. If you have dealt with missing necessary androidNDK during build, your advice on how to mitigate the issue would be highly appreciated.
Also, there seem to be an Error: /usr/local/workspace/px4-firmware/build/modalai_voxl2-slpi_default is not a directory directory missing. Indeed, during the build it creates /usr/local/workspace/px4-firmware/build/modalai_voxl2_default directory. Is that a bug or is it also because of the sdk installation issues?
PS: Some screenshots of my hexagonsdk directory with alleged java executable:
4569f484-ebed-4766-b403-b97a45b1923f-image.png