cancel
Showing results for 
Search instead for 
Did you mean: 

Linux Installation Error - STM32 Cube IDE

sparrow
Associate II

I have a VM running with Ubuntu 22.04 -- a brand new, clean installation.

In case it matters...

  • The host machine is a Mac M3
  • I actually had this running some time ago, but have since deleted the VM
  • I am working with an offshore team doing some dev work for us and want to create a similar environment. I am doing this to remove any ambiguity about our collective setups when it comes to building, testing and troubleshooting

Steps to Reproduce

  • Download the Debian-specific ZIP file - in my case it was:
    en.st-stm32cubeide_1.17.0_23558_20241125_2245_amd64.deb_bundle.sh.zip
  • Extract the contents of the archive
    • I used the Ubuntu Archive Manager and also...
    • Used a strictly command line approach, like...
unzip en.st-stm32cubeide_1.17.0_23558_20241125_2245_amd64.deb_bundle.sh.zip
chmod +x ./st-stm32cubeide_1.17.0_23558_20241125_2245_amd64.deb_bundle.sh
sudo ./st-stm32cubeide_1.17.0_23558_20241125_2245_amd64.deb_bundle.sh
  • Accept the Ts & Cs -- also selected Yes to the prompt:
    • Do you want to install Segger J-Link udev rules? [Y/n]

I also tried this approach, hoping some magic would happen if I installed a JRE.

Error Message

No matter what I try, the install fails with the error below. Line 17 seems to suggest that it can't find a .deb package the script itself just unpacked to a temporary directory.

¯\_(ツ)_/¯

 

 

I ACCEPT (y) / I DO NOT ACCEPT (N) [N/y] y
License accepted.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'st-stlink-server:amd64' instead of './st-stlink-server-2.1.1-1-linux-amd64.deb'
Note, selecting 'st-stlink-udev-rules' instead of './st-stlink-udev-rules-1.0.3-2-linux-all.deb'
Note, selecting 'st-stm32cubeide-1.17.0:amd64' instead of './st-stm32cubeide-1.17.0-23558-20241125-2245_amd64.deb'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 st-stlink-server:amd64 : Depends: libusb-1.0-0:amd64 but it is not installable
 st-stm32cubeide-1.17.0:amd64 : Depends: st-stlink-udev-rules:amd64 but it is not installable
                                Recommends: libncurses5:amd64 but it is not installable
                                Recommends: libpython2.7:amd64 but it is not installable
                                Recommends: libwebkit2gtk-4.0-37:amd64 but it is not installable
E: Unable to correct problems, you have held broken packages.

 

 

 

What am I missing here?

Is it because the host is running arm64 vs the expected amd64 on the VM?

Many thanks in advance for any feedback or contributions!

1 ACCEPTED SOLUTION

Accepted Solutions
sparrow
Associate II

Thanks again for putting thought into this for me, @Ozone  I was hoping this was an easy setup, but understand there may be some low-level issues where a one-off fix is outside my skillset. For now I've resigned to the fact that we'll have to just work independently and I'll help troubleshoot their setup(s) via virtual meetings.

Once again, I sincerely appreciate your time and input!

View solution in original post

5 REPLIES 5
STea
ST Employee

Hello @sparrow ,

Your request has been submitted for internal investigation under Ticket 198820 (for internal reference only).
Regards

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
Ozone
Lead II

> Is it because the host is running arm64 vs the expected amd64 on the VM?

No both are not related.
One is the host platform (amd64), the other the target (arm64).
AFAIK Ubuntu 22.04 is a 64-bit only distribution.
An "uname -a" should contain something like "x86_64" in the output.

And checking the first package in my VM, it is present :

Ozone_0-1734354812766.png

I suppose you did at least one apt-get update / apt-get upgrade / apt-get dist-upgrade  cycle, didn't you ?

 

Thanks for the response, @Ozone  - I appreciate your time!

Yes, I'm defintely running all 64-bit hardware. My host is running Apple M3, so is a and running uname -m yields arm64:

Screenshot 2024-12-16 at 21.54.33.png

and running uname -i on the VM yields aarch64.

Screenshot 2024-12-16 at 21.47.49.png

Spoiler
Here is the full output, for completeness...
>> uname -a
Linux myvm 6.8.0-50-generic #51~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 21 12:12:02 UTC 2 aarch64 aarch64 aarch64 GNU/Linux​

To answer your last question, yes, I have run these commands:

 

 

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

 

 

> Yes, I'm defintely running all 64-bit hardware. My host is running Apple M3, so is a and running uname -m yields arm64: ...

So, it makes sense to me that the amd64 package doesn't work. Never been an Apple user.
If your Linux inside the VM returns "arm64", I suppose you have installed a "native" Ubuntu 22 for ARM.
Thus all the packages would need to be ARM, too. Although I suppose you know.

Insofar as Ubuntu ARM repositories and CubeIDE support, I'm out of my depth.
In theory, the M3 is able to emulate x86, code, not sure if and how this applies to your situation.

But this is a clue, I think:
> libxxx:amd64 but it is not installable

I would check why dpkg thinks it is "not installable".

sparrow
Associate II

Thanks again for putting thought into this for me, @Ozone  I was hoping this was an easy setup, but understand there may be some low-level issues where a one-off fix is outside my skillset. For now I've resigned to the fact that we'll have to just work independently and I'll help troubleshoot their setup(s) via virtual meetings.

Once again, I sincerely appreciate your time and input!