A complete guide to installing STMicroelectronics STM32CubeCLT (Command Line Tools) on Fedora 43, including workarounds for common package verification and dependency issues.
STM32CubeCLT provides essential command-line tools for STM32 development including the STM32CubeProgrammer, GDB server, and ARM toolchains. This guide addresses specific issues with ST's RPM packaging on Fedora 43, particularly with DNF5's stricter verification requirements.
- Fedora 43 (this guide is specific to Fedora 43 but may work on other versions)
- Root/sudo access
- Downloaded STM32CubeCLT installer from ST's website
cd ~/Downloads
# Extract without auto-installing (keeps the RPM files)
sudo sh ./st-stm32cubeclt_1.20.0_26822_20251117_1245_amd64.rpm_bundle.sh --keep --noexecThis creates a makeself_dir_* directory with the individual RPM packages.
STM32CubeCLT requires the older ncurses5 library:
sudo dnf install ncurses-compat-libs# Confirm the library exists
ls -la /usr/lib64/libncurses.so.5
# Update library cache
sudo ldconfigYou should see /usr/lib64/libncurses.so.5 pointing to libncurses.so.5.9.
Due to package verification issues with ST's RPMs on Fedora, we need to bypass digest verification and dependency checks:
sudo rpm -ivh --nodigest --nosignature --nodeps --force \
/home/$USER/Downloads/makeself_dir_YOmPg9/st-stlink-server-2.1.1-1-linux-amd64.rpm \
/home/$USER/Downloads/makeself_dir_YOmPg9/st-stlink-udev-rules-1.0.3-2-linux-noarch.rpm \
/home/$USER/Downloads/makeself_dir_YOmPg9/st-stm32cubeclt-1.20.0-26822_20251117_1245.amd64.rpmNote: Replace makeself_dir_YOmPg9 with your actual directory name (use tab completion or ls -d makeself_dir_*).
You'll be prompted to accept the STMicroelectronics Software License Agreement. Type y to accept.
This ensures ST-Link debuggers are properly recognized:
sudo udevadm control --reload-rules
sudo udevadm trigger# Check installation directory
ls -la /opt/st/stm32cubeclt_1.20.0/
# Verify STM32CubeProgrammer CLI works
/opt/st/stm32cubeclt_1.20.0/STM32CubeProgrammer/bin/STM32_Programmer_CLI --versionExpected output:
STM32CubeProgrammer version: 2.21.0
Cause: ST's RPM packages aren't properly signed for Fedora's stricter verification.
Solution: Use --nodigest --nosignature flags as shown in step 4.
Cause: Missing ncurses5 compatibility library.
Solution:
- Install
ncurses-compat-libsas shown in step 2 - If RPM still complains after installation, use
--nodepsflag (the library is present, RPM just can't detect it properly)
Cause: Directory created by sudo is owned by root.
Solution: Use sudo for all commands accessing this directory, or use full paths with sudo as shown in step 4.
Cause: Zsh glob patterns don't work with root-owned directories.
Solution: Use full explicit paths or sudo bash -c as shown in the installation steps.
STM32CubeCLT includes the following components:
- STM32CubeProgrammer - Flash and debug tool
- STLink-gdb-server - GDB server for debugging
- GNU-tools-for-STM32 - GNU ARM toolchain
- CMake & Ninja - Build tools
- st-arm-clang - ARM Clang compiler
- CMSIS-SVD - System View Description files
- STM32target-mcu - MCU-specific files
- Version: 1.20.0 (build 26822_20251117_1245)
- STM32CubeProgrammer: v2.21.0
- Installation Path:
/opt/st/stm32cubeclt_1.20.0/
-
RPM verification failures - ST's packages have digest verification issues on modern Fedora. This is a known issue with ST's packaging.
-
Dependency detection - Even with
ncurses-compat-libsinstalled, RPM may not detectlibncurses.so.5correctly. Using--nodepsis safe since the library is actually present. -
DNF5 compatibility - Fedora 43 uses DNF5 which has stricter package verification than older versions.
STMicroelectronics Software License Agreement (SLA0048 Rev4/March 2018) applies to the installed software. You must accept this license during installation.
Last Updated: January 2026
Tested On: Fedora 43 with STM32CubeCLT v1.20.0