Skip to content

Instantly share code, notes, and snippets.

@OmerFarukOruc
Created January 30, 2026 10:25
Show Gist options
  • Select an option

  • Save OmerFarukOruc/0dd0379a5dbaf6e264b8bccc106b11c0 to your computer and use it in GitHub Desktop.

Select an option

Save OmerFarukOruc/0dd0379a5dbaf6e264b8bccc106b11c0 to your computer and use it in GitHub Desktop.
Installing STM32CubeCLT on Fedora 43

Installing STM32CubeCLT on Fedora 43

A complete guide to installing STMicroelectronics STM32CubeCLT (Command Line Tools) on Fedora 43, including workarounds for common package verification and dependency issues.

Overview

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.

Prerequisites

  • 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

Installation Steps

1. Extract the Installer Bundle

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 --noexec

This creates a makeself_dir_* directory with the individual RPM packages.

2. Install ncurses Compatibility Library

STM32CubeCLT requires the older ncurses5 library:

sudo dnf install ncurses-compat-libs

3. Verify ncurses Library Installation

# Confirm the library exists
ls -la /usr/lib64/libncurses.so.5

# Update library cache
sudo ldconfig

You should see /usr/lib64/libncurses.so.5 pointing to libncurses.so.5.9.

4. Install STM32CubeCLT RPM Packages

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.rpm

Note: 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.

5. Reload udev Rules

This ensures ST-Link debuggers are properly recognized:

sudo udevadm control --reload-rules
sudo udevadm trigger

6. Verify Installation

# 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 --version

Expected output:

STM32CubeProgrammer version: 2.21.0

Troubleshooting

"package does not verify: no digest" Error

Cause: ST's RPM packages aren't properly signed for Fedora's stricter verification.

Solution: Use --nodigest --nosignature flags as shown in step 4.

"libncurses.so.5 is needed" Error

Cause: Missing ncurses5 compatibility library.

Solution:

  1. Install ncurses-compat-libs as shown in step 2
  2. If RPM still complains after installation, use --nodeps flag (the library is present, RPM just can't detect it properly)

Permission Denied on makeself_dir_*

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.

Zsh "no matches found" Error

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.

What Gets Installed

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

Package Details

  • Version: 1.20.0 (build 26822_20251117_1245)
  • STM32CubeProgrammer: v2.21.0
  • Installation Path: /opt/st/stm32cubeclt_1.20.0/

Known Issues

  1. RPM verification failures - ST's packages have digest verification issues on modern Fedora. This is a known issue with ST's packaging.

  2. Dependency detection - Even with ncurses-compat-libs installed, RPM may not detect libncurses.so.5 correctly. Using --nodeps is safe since the library is actually present.

  3. DNF5 compatibility - Fedora 43 uses DNF5 which has stricter package verification than older versions.

Additional Resources

License

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment