Skip to main content
Associate
March 31, 2025
Solved

Error trying to install 32cubeprg 2.19.0 Linux

  • March 31, 2025
  • 2 replies
  • 495 views

On Kubuntu 24.04 when double clicking on

SetupSTM32CubeProgrammer-2.19.0.linux

an empty window appears and then closes again.

 

If I run

SetupSTM32CubeProgrammer-2.19.0.linux

via the terminal (as admin or as user), I get this error:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
 at sun.awt.X11FontManager.getFileNameFromPlatformName(X11FontManager.java:174)
 at sun.font.SunFontManager.initCompositeFonts(SunFontManager.java:3506)
 at sun.font.SunFontManager.access$800(SunFontManager.java:65)
 at sun.font.SunFontManager$2.run(SunFontManager.java:555)
 at java.security.AccessController.doPrivileged(Native Method)
 at sun.font.SunFontManager.<init>(SunFontManager.java:386)
 at sun.awt.FcFontManager.<init>(FcFontManager.java:35)
 at sun.awt.X11FontManager.<init>(X11FontManager.java:57)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
 at java.lang.Class.newInstance(Class.java:442)
 at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83)
 at java.security.AccessController.doPrivileged(Native Method)
 at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
 at sun.font.SunFontManager.getInstance(SunFontManager.java:250)
 at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:264)
 at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1125)
 at javax.swing.JComponent.getFontMetrics(JComponent.java:1626)
 at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:372)
 at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:345)
 at javax.swing.plaf.basic.BasicLabelUI.paint(BasicLabelUI.java:182)
 at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
 at javax.swing.JComponent.paintComponent(JComponent.java:780)
 at javax.swing.JComponent.paint(JComponent.java:1056)
 at javax.swing.JComponent.paintChildren(JComponent.java:889)
 at javax.swing.JComponent.paint(JComponent.java:1065)
 at javax.swing.JComponent.paintChildren(JComponent.java:889)
 at javax.swing.JComponent.paint(JComponent.java:1065)
 at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
 at javax.swing.JComponent.paintChildren(JComponent.java:889)
 at javax.swing.JComponent.paintToOffscreen(JComponent.java:5217)
 at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
 at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
 at javax.swing.JComponent.paint(JComponent.java:1042)
 at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
 at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79)
 at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116)
 at java.awt.Container.paint(Container.java:1978)
 at java.awt.Window.paint(Window.java:3906)
 at javax.swing.RepaintManager$4.run(RepaintManager.java:842)
 at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
 at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
 at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
 at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
 at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
 at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
 at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
 at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
 at java.awt.EventQueue.access$500(EventQueue.java:97)
 at java.awt.EventQueue$3.run(EventQueue.java:709)
 at java.awt.EventQueue$3.run(EventQueue.java:703)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
SEVERE: The language pack couldn't be initialized.
Action invocation failed
SEVERE: com.izforge.izpack.api.exception.IzPackException: java.lang.NullPointerException



Best answer by Aziz BRIGUI

Hello @AndriiGalinovskyi

Please check this thread: Solved: Re: After upgrade to CubeProgrammer 2.18.0 cannot ... - STMicroelectronics Community

Hope it helps ! 

Aziz

2 replies

Aziz BRIGUI
Aziz BRIGUIBest answer
Technical Moderator
April 18, 2025

Hello @AndriiGalinovskyi

Please check this thread: Solved: Re: After upgrade to CubeProgrammer 2.18.0 cannot ... - STMicroelectronics Community

Hope it helps ! 

Aziz

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.
mx_chAuthor
Associate
October 27, 2025

OK, so the answer is: STM Cube Programmer does not run on KDE and KDE users should just install a different Linux distro to be able to run STM Cube Programmer. 

mx_chAuthor
Associate
October 28, 2025

Or to be more specific: Maybe CubeProgrammer would run on KDE, but we can't know, because the package ST is using in their installer for uncompressing the binary for installation is failing under KDE. If someone sends me an unpacked binary, I could try if it runs. Honestly, ST should just modernize their app so it comes in a flatpack/snap/Appimage, or go the different route and provide the binary.