Skip to content

Trouble Building on WSL Ubuntu 24.04.2 LTS #4

@lizettewong

Description

@lizettewong

The latest releases of STM32CubeCLT seem to not include arm-none-eabi-gcc in the installation (I am not being given an option to install it, and from what I'm reading online, it seems like this ARM GNU Toolchain has been deprecated). I can't figure out the correct version of arm-none-eabi-gcc to make your signal generator compile properly. What am I doing wrong and how can I fix it?

When I use sudo apt install gcc-arm-none-eabi to install it myself, I run into the following errors during the make step of your build process:

[  5%] Building CXX object CMakeFiles/stm32-wave-generator.dir/src/Main.cpp.obj
In file included from /home/lmgwo/Documents/stm32-signal-generator/src/cmd/Command.hpp:4,
                 from /home/lmgwo/Documents/stm32-signal-generator/src/cmd/CommandParser.hpp:4,
                 from /home/lmgwo/Documents/stm32-signal-generator/src/Main.cpp:1:
/home/lmgwo/Documents/stm32-signal-generator/src/cmd/../signals/Frequency.hpp:4:10: fatal error: cstdint: No such file or directory
    4 | #include <cstdint>
      |          ^~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/stm32-wave-generator.dir/build.make:76: CMakeFiles/stm32-wave-generator.dir/src/Main.cpp.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:101: CMakeFiles/stm32-wave-generator.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

The cmake command preceding this error resulted in the following output:

Build type: Debug
Programmer CLI: /opt/ST/STM32CubeCLT_1.18.0/STM32CubeProgrammer/bin/STM32_Programmer_CLI
-- The CXX compiler identification is GNU 13.2.1
-- The C compiler identification is GNU 13.2.1
-- The ASM compiler identification is GNU
-- Found assembler: /bin/arm-none-eabi-gcc
-- Welle Header: /usr/local/include
Using USART2
-- Configuring done (10.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/lmgwo/Documents/stm32-signal-generator/build

When I instead use another version of arm-none-eabi-gcc, I get the following error:

[  5%] Building CXX object CMakeFiles/stm32-wave-generator.dir/src/Main.cpp.obj
In file included from /home/lmgwo/Documents/stm32-signal-generator/drivers/./CMSIS/Include/core_cm4.h:1960,
                 from /home/lmgwo/Documents/stm32-signal-generator/drivers/./CMSIS/Device/ST/STM32F4xx/Include/stm32f446xx.h:169,
                 from /home/lmgwo/Documents/stm32-signal-generator/src/peripherals/../sys/stm32f446xxTypes.hpp:6,
                 from /home/lmgwo/Documents/stm32-signal-generator/src/peripherals/RCCPeripheral.hpp:4,
                 from /home/lmgwo/Documents/stm32-signal-generator/src/peripherals/Peripherals.hpp:4,
                 from /home/lmgwo/Documents/stm32-signal-generator/src/Main.cpp:3:
/home/lmgwo/Documents/stm32-signal-generator/drivers/./CMSIS/Include/mpu_armv7.h: In function 'void ARM_MPU_Enable(uint32_t)':
/home/lmgwo/Documents/stm32-signal-generator/drivers/./CMSIS/Include/mpu_armv7.h:196:14: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
  196 |   SCB->SHCSR |= SCB_SHCSR_MEMFAULTENA_Msk;
/home/lmgwo/Documents/stm32-signal-generator/drivers/./CMSIS/Include/mpu_armv7.h: In function 'void ARM_MPU_Disable()':
/home/lmgwo/Documents/stm32-signal-generator/drivers/./CMSIS/Include/mpu_armv7.h:208:14: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
  208 |   SCB->SHCSR &= ~SCB_SHCSR_MEMFAULTENA_Msk;
/home/lmgwo/Documents/stm32-signal-generator/drivers/./CMSIS/Include/mpu_armv7.h:210:14: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
  210 |   MPU->CTRL  &= ~MPU_CTRL_ENABLE_Msk;
[ 11%] Building C object CMakeFiles/stm32-wave-generator.dir/src/sys/syscalls.c.obj
[ 16%] Building C object CMakeFiles/stm32-wave-generator.dir/src/sys/sysmem.c.obj
[ 22%] Building C object CMakeFiles/stm32-wave-generator.dir/src/sys/system_stm32f4xx.c.obj
[ 27%] Building ASM object CMakeFiles/stm32-wave-generator.dir/src/sys/startup_stm32f446xx.s.obj
[ 33%] Building CXX object CMakeFiles/stm32-wave-generator.dir/src/signals/WaveForm.cpp.obj
[ 38%] Building CXX object CMakeFiles/stm32-wave-generator.dir/src/signals/Frequency.cpp.obj
/home/lmgwo/Documents/stm32-signal-generator/src/signals/Frequency.cpp:4:10: fatal error: format: No such file or directory
    4 | #include <format>
      |          ^~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/stm32-wave-generator.dir/build.make:159: CMakeFiles/stm32-wave-generator.dir/src/signals/Frequency.cpp.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:101: CMakeFiles/stm32-wave-generator.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

The cmake command preceding this error resulted in the following output:

Build type: Debug
Programmer CLI: /opt/ST/STM32CubeCLT_1.18.0/STM32CubeProgrammer/bin/STM32_Programmer_CLI
-- The CXX compiler identification is GNU 10.3.1
-- The C compiler identification is GNU 10.3.1
-- The ASM compiler identification is GNU
-- Found assembler: /usr/share/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-gcc
-- Welle Header: /usr/local/include
Using USART2
-- Configuring done (10.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/lmgwo/Documents/stm32-signal-generator/build

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions