cancel
Showing results for 
Search instead for 
Did you mean: 

Ubuntu 24.04 install of Cube IDE 1.15.1

w3dmj
Associate

When moving to the latest LTS version of Ubuntu (version 24.04), I received the following message when attempting to install Cube IDE and after accepting all of the license agreements:

The following packages have unmet dependencies:
st-stm32cubeide-1.15.1 : Depends: libncurses5 but it is not installable
Depends: libpython2.7 but it is not installable
Depends: libwebkit2gtk-4.0-37 but it is not installable
E: Unable to correct problems, you have held broken packages.

 

After running "sudo apt-cache search" for each of these packages, I found the following:

for libncurses5 only libncurses-dev was returned. The version associated with 24.04 is (6.4+20240113-1ubuntu2)

for libpython2.7 nothing was returned and when I searched for just libpython only libpython3-all-dev and its associated packages were listed.

for libwebkit2gtk-4.0-37 nothing was returned but when searching for libwebkit2gtk version libwebkit2gtk-4.1 was returned.

 

Are there plans to update Cube IDE soon to use updated libraries?

16 REPLIES 16
trusty
Associate

I meant when I try to flash the board. Apparently, Only Ubuntu 20.04 - 22.04 are supported. Ubuntu 24.04 is not supported. 

Dr_Megavolt
Associate

Dear all

I managed to get STM32CubeIDE 1.15.1 running on Ubuntu 24.04. I used the "Generic Linux" installer, not the Debian one. I was able to manually download and install libtinfo5_6.4-4_amd64.deb and libncurses5_6.4-4_amd64.deb

Importing a project, building and running and even the ST login seems to work properly.

But when I try to load an IOC file it fails without any error message, only a gray background is displayed.

However as a workaround I was able to load, edit and generate code using the "standalone version" Cube MX.

I hope that ST will soon fix CubeIDE to properly run on Ubuntu 24.04 "out of the box".

Same here, Use generic 1.12.0, it's working properly here.

Lennart
Associate

I assume that I am experiencing the same as @trusty, being unable to upload firmware to the MCU. I have created a separate topic for it here: https://community.st.com/t5/stm32cubeide-mcus/unable-to-upload-firmware-on-ubuntu-24-04/td-p/683268 

GDB works after download and install ncurses5. Try this:

wget http://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.4-2_amd64.deb && sudo dpkg -i libtinfo5_6.4-2_amd64.deb && rm -f libtinfo5_6.4-2_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libncurses5_6.4-2_amd64.deb && sudo dpkg -i libncurses5_6.4-2_amd64.deb && rm -f libncurses5_6.4-2_amd64.deb
CWang.13
Associate II

I just boot my new desktop with ubuntu24.04, and seems generic_linux download version is the best to operate.

 

Also, I keep getting the error during flashing/debugging the chip, it reports

 

"Could not determine GDB version using command: arm-none-eabi-gdb --version arm-none-eabi-gdb: /lib/x86_64-linux-gnu/libncurses.so.5: version NCURSES_5.3.20021019' not found (required by arm-none-eabi-gdb) arm-none-eabi-gdb: /lib/x86_64-linux-gnu/libncurses.so.5: version NCURSES_5.1.20000708' not found (required by arm-none-eabi-gdb) arm-none-eabi-gdb: /lib/x86_64-linux-gnu/libncurses.so.5: version NCURSES_5.6.20061217' not found (required by arm-none-eabi-gdb) arm-none-eabi-gdb: /lib/x86_64-linux-gnu/libncurses.so.5: version NCURSES_5.0.19991023' not found (required by arm-none-eabi-gdb) arm-none-eabi-gdb: /lib/x86_64-linux-gnu/libtinfo.so.5: version NCURSES_TINFO_5.0.19991023' not found (required by arm-none-eabi-gdb)"

 

I solved it according to following operations.

 

1. Manually download the required libtinfo5 package which is the dependency of libncurses5. https://launchpad.net/ubuntu/lunar/amd64/libtinfo5/6.4-2

2. cd into your download directory, setting up the libtinfo5 package "sudo dpkg -i libtinfo5_6.4-2_amd64.deb"

3. then "curl -O http://launchpadlibrarian.net/648013227/libncurses5_6.4-2_amd64.deb" to get the libncurses5

4. set up the libncurses5 package "sudo dpkg --configure libncurses5:amd64"

5. all good~

I had the same problem with Cube IDE 1.16.1 installation on Lubuntu 24.04 , the lightweight version of desktop Ubuntu 24.04.

By apply the Generic Linux installation, it seems went success.

Basically the installation went to /opt/st/stm32cubeide_1.16.1/ , and external gnu tools it uses to be installed under /opt/st/stm32cubeide_1.16.1/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.200.202406132123/ .

The arm-none-eabi-gcc --version  shows as

--------------------------------------------------------------------------------------------------------------------

arm-none-eabi-gcc (GNU Tools for STM32 12.3.rel1.20240612-1315) 12.3.1 20230626
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

------------------------------------------------------------------------------------------------------------------------

looks like a ST customized build for STM32.

When look to `arm-none-eabi-gdb --version` , it complains with

--------------------------------------------------------------------------------------------------------------------------

arm-none-eabi-gdb: /lib/x86_64-linux-gnu/libtinfo.so.5: version `NCURSES_TINFO_5.5.20051010' not found (required by /lib/x86_64-linux-gnu/libncurses.so.5)

--------------------------------------------------------------------------------------------------------------------------

This makes me to be somewhat to worry if the debug session in Cube IDE would start properly.

There is a little bit background info that the newer gnu arm tool package does not include arm-none-eabi-gdb, rather then it suggested to use gdb-multiarch.  So if you had encountered a problem to start gdb session through arm-none-eabi-gdb , try to install linux/ubuntu package of gdb-multiarch, and then tweak the settings in Cube IDE to use gdb-multiarch rather than arm-none-eabi-gdb to start gdb session.

If for whatever reason want to keep using arm-none-eabi-gdb , then have to solve libncurses.so.5 issue. On newer Linux/Ubuntu release, only libncurses.so.6 provided, so either to create link for ncurses.so.5 point to ncurses.so.6, or pull a real version of ncurses.so.5 from an older version of Linux/Ubuntu release, and put them into /lib/x86_64-linux-gnu/. So the hack to be something like

-------

rsync  old_ubuntu_host:/lib/x86_64-linux-gnu/libtinfo.so.5.9   ./

sudo  rsync  libtinfo.so.5.9  /lib/x86_64-linux-gnu/

rsync  old_ubuntu_host:/lib/x86_64-linux-gnu/libncurses.so.5.9  ./

sudo  rsync  libncurses.so.5.9  /lib/x86_64-linux-gnu/

sudo ln -s /lib/x86_64-linux-gnu/libtinfo.so.5.9 /lib/x86_64-linux-gnu/libtinfo.so.5

sudo ln -s /lib/x86_64-linux-gnu/libncurses.so.5.9 /lib/x86_64-linux-gnu/libncurses.so.5

-------

or

-----

sudo ln -s /lib/x86_64-linux-gnu/libtinfo.so.6.4   /lib/x86_64-linux-gnu/libtinfo.so.5

sudo ln -s /lib/x86_64-linux-gnu/libncurses.so.6.4  /lib/x86_64-linux-gnu/libncurses.so.5

------

The arm-none-eabi-xxx  under  /usr/bin/  may use globally, so feel free to create link there to point to a specific version of arm-none-eabi installation,if you have multiple versions installed.

My fellow developers, happy hacking!  Share your experience!