Intellij IDEA on Librem 5

With lapdock I now have all I need except IDEA. It refuses to start with some errors that I don’t fully understand. I tried wayland mode too with no luck. Has anyone figured that out?

1 Like

If you launch it from the terminal, does it print any errors?

image

Did you install the ARM64 version (Download IntelliJ IDEA)?

1 Like

I use ARM version, yes. When I start it, it floods terminal with errors. I cannot attach txt file to the message, so will just post a beginning of it. Thank you

2025-08-13 13:04:16,031 [    418]   WARN - #c.i.p.i.b.AppStarter - Unable to load JNA library (Linux/6.6.0-1-librem5, jna.boot.library.path=null)
java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-aarch64/libjnidispatch.so) not found in resource path (/opt/idea-IC-251.27812.49/lib/platform-loader.jar:/opt/idea-IC-251.27812.49/lib/util-8.jar:/opt/idea-IC-251.27812.49/lib/util.jar:/opt/idea-IC-251.27812.49/lib/app-client.jar:/opt/idea-IC-251.27812.49/lib/util_rt.jar:/opt/idea-IC-251.27812.49/lib/lib-client.jar:/opt/idea-IC-251.27812.49/lib/trove.jar:/opt/idea-IC-251.27812.49/lib/app.jar:/opt/idea-IC-251.27812.49/lib/opentelemetry.jar:/opt/idea-IC-251.27812.49/lib/jps-model.jar:/opt/idea-IC-251.27812.49/lib/stats.jar:/opt/idea-IC-251.27812.49/lib/rd.jar:/opt/idea-IC-251.27812.49/lib/external-system-rt.jar:/opt/idea-IC-251.27812.49/lib/protobuf.jar:/opt/idea-IC-251.27812.49/lib/bouncy-castle.jar:/opt/idea-IC-251.27812.49/lib/intellij-test-discovery.jar:/opt/idea-IC-251.27812.49/lib/forms_rt.jar:/opt/idea-IC-251.27812.49/lib/lib.jar:/opt/idea-IC-251.27812.49/lib/externalProcess-rt.jar:/opt/idea-IC-251.27812.49/lib/groovy.jar:/opt/idea-IC-251.27812.49/lib/annotations.jar:/opt/idea-IC-251.27812.49/lib/idea_rt.jar:/opt/idea-IC-251.27812.49/lib/jsch-agent.jar:/opt/idea-IC-251.27812.49/lib/kotlinx-coroutines-slf4j-1.8.0-intellij.jar)
        at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1055)
        at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:1011)
        at com.sun.jna.Native.<clinit>(Native.java:221)
        at com.intellij.jna.JnaLoader.load(JnaLoader.java:29)
        at com.intellij.platform.ide.bootstrap.StartupUtil$scheduleLoadSystemLibsAndLogInfoAndInitMacApp$1$2.invokeSuspend(startup.kt:361)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
        at kotlinx.coroutines.internal.SoftLimitedDispatcher$Worker.run(SoftLimitedDispatcher.kt:125)
        at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:608)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:873)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:763)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:750)
2025-08-13 13:04:16,327 [    714] SEVERE - #c.i.i.p.PluginManager - Unknown element: description
java.lang.Throwable: Unknown element: description
        at com.intellij.openapi.diagnostic.Logger.error(Logger.java:375)
        at com.intellij.ide.plugins.XmlReader.readRootElementChild(XmlReader.kt:316)
        at com.intellij.ide.plugins.XmlReader.access$readRootElementChild(XmlReader.kt:1)
        at com.intellij.ide.plugins.XmlReader.readModuleDescriptor(XmlReader.kt:106)
        at com.intellij.ide.plugins.XmlReader.readModuleDescriptor$default(XmlReader.kt:82)
        at com.intellij.ide.plugins.PluginDescriptorLoader.loadPluginDescriptor(PluginDescriptorLoader.kt:739)
        at com.intellij.ide.plugins.PluginDescriptorLoader.access$loadPluginDescriptor(PluginDescriptorLoader.kt:1)
        at com.intellij.ide.plugins.PluginDescriptorLoader$loadFromPluginClasspathDescriptor$1$1.invokeSuspend(PluginDescriptorLoader.kt:707)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:608)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:873)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:763)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:750)
2025-08-13 13:04:16,360 [    747] SEVERE - #c.i.i.p.PluginManager - Unknown element: extensionPoints
java.lang.Throwable: Unknown element: extensionPoints
        at com.intellij.openapi.diagnostic.Logger.error(Logger.java:375)
        at com.intellij.ide.plugins.XmlReader.readRootElementChild(XmlReader.kt:316)
        at com.intellij.ide.plugins.XmlReader.access$readRootElementChild(XmlReader.kt:1)
        at com.intellij.ide.plugins.XmlReader.readModuleDescriptor(XmlReader.kt:106)
        at com.intellij.ide.plugins.XmlReader.readModuleDescriptor$default(XmlReader.kt:82)
        at com.intellij.ide.plugins.PluginDescriptorLoader.loadCoreProductPlugin(PluginDescriptorLoader.kt:957)
        at com.intellij.ide.plugins.PluginDescriptorLoader.access$loadCoreProductPlugin(PluginDescriptorLoader.kt:1)
        at com.intellij.ide.plugins.PluginDescriptorLoader$loadPluginDescriptorsImpl$2.invokeSuspend(PluginDescriptorLoader.kt:650)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:608)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:873)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:763)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:750)
2025-08-13 13:04:16,385 [    772] SEVERE - #c.i.i.p.PluginManager - IntelliJ IDEA 2025.1.4.1  Build #IC-251.27812.49
2025-08-13 13:04:16,387 [    774] SEVERE - #c.i.i.p.PluginManager - IntelliJ IDEA 2025.1.4.1  Build #IC-251.27812.49
2025-08-13 13:04:16,391 [    778] SEVERE - #c.i.i.p.PluginManager - JDK: 21.0.7; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o.
2025-08-13 13:04:16,399 [    786] SEVERE - #c.i.i.p.PluginManager - OS: Linux
2025-08-13 13:04:16,417 [    804] SEVERE - #c.i.i.p.PluginManager - JDK: 21.0.7; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o.
2025-08-13 13:04:16,418 [    805] SEVERE - #c.i.i.p.PluginManager - OS: Linux
2025-08-13 13:04:16,420 [    807] SEVERE - #c.i.i.p.PluginManager - Unknown element: vendor

1 Like

I’m not familiar with this but from the logs, it seems like JNA Library is not found. Have you checked it’s installed?

Unable to load JNA library (Linux/6.6.0-1-librem5, jna.boot.library.path=null)
java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-aarch64/libjnidispatch.so) not found in resource path

Try installing JNA via apt (or manually download the correct JNA version from JNA GitHub releases and place the .so file in a location IntelliJ can access) if it’s not there. The other thing would be (if it’s already installed) to make sure the path is correct and accessible (it may be possible in the idea.vmoptions file, maybe with something like -Djna.boot.library.path=/path/to/libjnidispatch.so).

Some of the other log messages seem to be related to plugin(s). Fix the JNA first and see if others go away with it. Maybe do a re-install?

1 Like

Thanks for the advice. It is much appreciated. Installing via apt took me a little further


**Start Failed**

Internal error

java.lang.NoClassDefFoundError: Could not initialize class jdk.internal.util.OperatingSystem
	at jdk.net/jdk.net.ExtendedSocketOptions$2.<clinit>(ExtendedSocketOptions.java:402)
	at jdk.net/jdk.net.ExtendedSocketOptions$PlatformSocketOptions.create(ExtendedSocketOptions.java:402)
	at jdk.net/jdk.net.ExtendedSocketOptions$PlatformSocketOptions.<clinit>(ExtendedSocketOptions.java:411)
	at jdk.net/jdk.net.ExtendedSocketOptions.<clinit>(ExtendedSocketOptions.java:228)
	at java.base/java.lang.Class.forName0(Native Method)
	at java.base/java.lang.Class.forName(Class.java:421)
	at java.base/java.lang.Class.forName(Class.java:412)
	at java.base/sun.net.ext.ExtendedSocketOptions.getInstance(ExtendedSocketOptions.java:179)
	at java.base/sun.nio.ch.Net.<clinit>(Net.java:380)
	at java.base/sun.nio.ch.ServerSocketChannelImpl.unixBind(ServerSocketChannelImpl.java:328)
	at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:299)
	at java.base/java.nio.channels.ServerSocketChannel.bind(ServerSocketChannel.java:224)
	at com.intellij.platform.ide.bootstrap.DirectoryLock.tryListen(DirectoryLock.java:273)
	at com.intellij.platform.ide.bootstrap.DirectoryLock.lockOrActivate(DirectoryLock.java:214)
	at com.intellij.platform.ide.bootstrap.StartupUtil.lockSystemDirs(startup.kt:492)
	at com.intellij.platform.ide.bootstrap.StartupUtil.access$lockSystemDirs(startup.kt:1)
	at com.intellij.platform.ide.bootstrap.StartupUtil$startApplication$lockSystemDirsJob$1$1.invokeSuspend(startup.kt:112)
	at com.intellij.platform.ide.bootstrap.StartupUtil$startApplication$lockSystemDirsJob$1$1.invoke(startup.kt)
	at com.intellij.platform.ide.bootstrap.StartupUtil$startApplication$lockSystemDirsJob$1$1.invoke(startup.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:44)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:166)
	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
	at com.intellij.platform.diagnostic.telemetry.impl.TracerKt.span(tracer.kt:56)
	at com.intellij.platform.diagnostic.telemetry.impl.TracerKt.span$default(tracer.kt:48)
	at com.intellij.platform.ide.bootstrap.StartupUtil$startApplication$lockSystemDirsJob$1.invokeSuspend(startup.kt:111)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:613)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:1189)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:778)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:765)
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.IllegalArgumentException: No enum constant jdk.internal.util.OperatingSystem.LINUX [in thread "DefaultDispatcher-worker-2"]
	at java.base/java.lang.Enum.valueOf(Enum.java:293)
	at java.base/jdk.internal.util.OperatingSystem.valueOf(OperatingSystem.java:66)
	at java.base/jdk.internal.util.OperatingSystem.initOS(OperatingSystem.java:134)
	at java.base/jdk.internal.util.OperatingSystem.<clinit>(OperatingSystem.java:87)
	at java.desktop/sun.awt.OSInfo.getOSTypeImpl(OSInfo.java:93)
	at java.desktop/sun.awt.OSInfo.<clinit>(OSInfo.java:67)
	at java.desktop/sun.font.FontUtilities$1.run(FontUtilities.java:72)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
	at java.desktop/sun.font.FontUtilities.initStatic(FontUtilities.java:67)
	at java.desktop/sun.font.FontUtilities.<clinit>(FontUtilities.java:62)
	at java.desktop/sun.java2d.SunGraphicsEnvironment.<clinit>(SunGraphicsEnvironment.java:82)
	at java.desktop/sun.awt.PlatformGraphicsInfo.createGE(PlatformGraphicsInfo.java:68)
	at java.desktop/java.awt.GraphicsEnvironment$LocalGE.createGE(GraphicsEnvironment.java:104)
	at java.desktop/java.awt.GraphicsEnvironment$LocalGE.<clinit>(GraphicsEnvironment.java:89)
	at java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:117)
	at java.desktop/sun.awt.X11.XToolkit.<clinit>(XToolkit.java:515)
	at java.desktop/sun.awt.PlatformGraphicsInfo.createToolkit(PlatformGraphicsInfo.java:74)
	at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:595)
	at com.intellij.platform.ide.bootstrap.UiKt$initAwtToolkit$2.invokeSuspend(ui.kt:141)
	at com.intellij.platform.ide.bootstrap.UiKt$initAwtToolkit$2.invoke(ui.kt)
	at com.intellij.platform.ide.bootstrap.UiKt$initAwtToolkit$2.invoke(ui.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:44)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:166)
	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
	at com.intellij.platform.diagnostic.telemetry.impl.TracerKt.span(tracer.kt:56)
	at com.intellij.platform.diagnostic.telemetry.impl.TracerKt.span$default(tracer.kt:48)
	at com.intellij.platform.ide.bootstrap.UiKt.initAwtToolkit(ui.kt:140)
	at com.intellij.platform.ide.bootstrap.UiKt.access$initAwtToolkit(ui.kt:1)
	at com.intellij.platform.ide.bootstrap.UiKt$scheduleInitAwtToolkit$task$1$1.invokeSuspend(ui.kt:123)
	... 6 more

-----
JRE: 21.0.7+6-b1038.58 aarch64 (JetBrains s.r.o.)
/opt/idea-IC-252.23892.409/jbr

-----
Also, a UI exception occurred in an attempt to show the above message:
java.lang.NoClassDefFoundError: Could not initialize class java.awt.GraphicsEnvironment$LocalGE
	at java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:117)
	at java.desktop/javax.swing.RepaintManager.<clinit>(RepaintManager.java:252)
	at java.desktop/javax.swing.JComponent.repaint(JComponent.java:4899)
	at java.desktop/java.awt.Component.repaint(Component.java:3427)
	at java.desktop/javax.swing.text.JTextComponent.setEditable(JTextComponent.java:1814)
	at java.desktop/javax.swing.text.JTextComponent.<init>(JTextComponent.java:319)
	at java.desktop/javax.swing.JEditorPane.<init>(JEditorPane.java:255)
	at java.desktop/javax.swing.JTextPane.<init>(JTextPane.java:100)
	at com.intellij.platform.ide.bootstrap.StartupErrorReporter.prepareMessage(StartupErrorReporter.java:316)
	at com.intellij.platform.ide.bootstrap.StartupErrorReporter.showError(StartupErrorReporter.java:137)
	at com.intellij.platform.ide.bootstrap.StartupErrorReporter.showError(StartupErrorReporter.java:99)
	at com.intellij.platform.ide.bootstrap.StartupUtil.lockSystemDirs(startup.kt:513)
	at com.intellij.platform.ide.bootstrap.StartupUtil.access$lockSystemDirs(startup.kt:1)
	at com.intellij.platform.ide.bootstrap.StartupUtil$startApplication$lockSystemDirsJob$1$1.invokeSuspend(startup.kt:112)
	at com.intellij.platform.ide.bootstrap.StartupUtil$startApplication$lockSystemDirsJob$1$1.invoke(startup.kt)
	at com.intellij.platform.ide.bootstrap.StartupUtil$startApplication$lockSystemDirsJob$1$1.invoke(startup.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:44)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:166)
	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
	at com.intellij.platform.diagnostic.telemetry.impl.TracerKt.span(tracer.kt:56)
	at com.intellij.platform.diagnostic.telemetry.impl.TracerKt.span$default(tracer.kt:48)
	at com.intellij.platform.ide.bootstrap.StartupUtil$startApplication$lockSystemDirsJob$1.invokeSuspend(startup.kt:111)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:613)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:1189)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:778)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:765)
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.ExceptionInInitializerError [in thread "DefaultDispatcher-worker-2"]
	at java.desktop/sun.awt.OSInfo.getOSTypeImpl(OSInfo.java:93)
	at java.desktop/sun.awt.OSInfo.<clinit>(OSInfo.java:67)
	at java.desktop/sun.font.FontUtilities$1.run(FontUtilities.java:72)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
	at java.desktop/sun.font.FontUtilities.initStatic(FontUtilities.java:67)
	at java.desktop/sun.font.FontUtilities.<clinit>(FontUtilities.java:62)
	at java.desktop/sun.java2d.SunGraphicsEnvironment.<clinit>(SunGraphicsEnvironment.java:82)
	at java.desktop/sun.awt.PlatformGraphicsInfo.createGE(PlatformGraphicsInfo.java:68)
	at java.desktop/java.awt.GraphicsEnvironment$LocalGE.createGE(GraphicsEnvironment.java:104)
	at java.desktop/java.awt.GraphicsEnvironment$LocalGE.<clinit>(GraphicsEnvironment.java:89)
	at java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:117)
	at java.desktop/sun.awt.X11.XToolkit.<clinit>(XToolkit.java:515)
	at java.desktop/sun.awt.PlatformGraphicsInfo.createToolkit(PlatformGraphicsInfo.java:74)
	at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:595)
	at com.intellij.platform.ide.bootstrap.UiKt$initAwtToolkit$2.invokeSuspend(ui.kt:141)
	at com.intellij.platform.ide.bootstrap.UiKt$initAwtToolkit$2.invoke(ui.kt)
	at com.intellij.platform.ide.bootstrap.UiKt$initAwtToolkit$2.invoke(ui.kt)
	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:44)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:166)
	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
	at com.intellij.platform.diagnostic.telemetry.impl.TracerKt.span(tracer.kt:56)
	at com.intellij.platform.diagnostic.telemetry.impl.TracerKt.span$default(tracer.kt:48)
	at com.intellij.platform.ide.bootstrap.UiKt.initAwtToolkit(ui.kt:140)
	at com.intellij.platform.ide.bootstrap.UiKt.access$initAwtToolkit(ui.kt:1)
	at com.intellij.platform.ide.bootstrap.UiKt$scheduleInitAwtToolkit$task$1$1.invokeSuspend(ui.kt:123)
	... 6 more

I also tried something else. I installed java from apt and tried to run Idea with it. It started, though not rendering anything (see the screenshot)

1 Like

This is not anything I’ve dealt with before, so I’m at a loss. I did feed some of that to AI to analyse, see if that helps.

Here's what came of it

Thanks for sharing the logs! Based on the error messages, the issue seems to stem from a Java runtime incompatibility or corruption, particularly around the jdk.internal.util.OperatingSystem class. Here’s a breakdown of what’s likely wrong and how to fix it:


:mag: Key Error

java.lang.NoClassDefFoundError: Could not initialize class jdk.internal.util.OperatingSystem
Caused by: java.lang.IllegalArgumentException: No enum constant jdk.internal.util.OperatingSystem.LINUX

This means that the Java runtime is trying to identify the operating system but fails because it doesn’t recognize "LINUX" as a valid enum constant. This is not normal behavior and suggests one of the following:


:hammer_and_wrench: Possible Causes & Fixes

1. Corrupted or Misconfigured JDK

  • The JDK bundled with IntelliJ (JRE: 21.0.7+6-b1038.58 aarch64) might be corrupted or incompatible with your system.
  • Fix: Try switching to a different JDK version:
    sudo apt install openjdk-21-jdk
    
    Then configure IntelliJ to use this JDK by setting the IDEA_JDK environment variable:
    export IDEA_JDK=/usr/lib/jvm/java-21-openjdk
    ./idea.sh
    

2. Unsupported Architecture or OS Detection Bug

  • You’re on Linux aarch64, which might not be properly recognized by the JetBrains Runtime (JBR).
  • Fix: Try using a standard OpenJDK instead of JetBrains’ custom JBR. You can download it from Adoptium or use your distro’s package manager.

3. Missing or Miscompiled Enum in JDK

  • The enum OperatingSystem should contain LINUX, but it doesn’t. This could be due to a bad build of the JDK.
  • Fix: Reinstall the JDK or switch to a different vendor (e.g., Adoptium, Oracle, OpenJDK).

4. Permissions or Locking Issues

  • The logs also show errors related to DirectoryLock, which might indicate permission issues or multiple instances trying to start.
  • Fix:
    rm -rf ~/.config/JetBrains/IntelliJIdea*/system
    
    Or ensure only one instance is running and you have write access to the config directories.

:white_check_mark: Recommended Steps

  1. Install a clean OpenJDK 21:

    sudo apt install openjdk-21-jdk
    
  2. Set IDEA_JDK to point to it:

    export IDEA_JDK=/usr/lib/jvm/java-21-openjdk
    
  3. Start IntelliJ from terminal:

    ./idea.sh
    
  4. If that fails, try IntelliJ with a different JDK version, like JDK 17 or 20.

1 Like

I have JDK 17 on my desktop. In that version, the class, jdk.internal.util.OperatingSystem, apparently does not even exist.

You could try overriding the system property, os.name with -D on the java command line. It is just my assumption that the code might get the value of this system property, then transform it into a valid Java enum identifier, then try to access the corresponding enum instance by name. However even if that worked, it is entirely possible that it would cause many other problems. :slight_smile:

Note that the basic Java problem, as summarised by the AI, of

java.lang.NoClassDefFoundError: Could not initialize class

is not obscure and does happen from time to time.

First the JRE tries to find the class. That can of course fail in a myriad of ways but supposing that it does not fail, it loads the class (which can potentially fail too in various ways). And then it tries to initialise the class, which means running all the static initialisation code of the class (which is any initialisers on static class members and any explicit class initialisation code). This is the implicit method called <clinit> that you can see in the stack trace.

(There is a specific reason to do it this way viz. a class may depend on another class, and sometimes there are circular dependencies, such that all the classes in the cycle must be loaded before any class in the cycle is initialised.)

If an uncaught exception occurs anywhere during that static initialisation code, it is usually impossible to handle that exception and it is usually fatal for your program. (OK, if you are loading a plugin, it may be possible to catch and ignore the exception - but if it’s a core part of your program, it isn’t really possible to continue with a class missing.) You usually can’t fix this without access to and understanding of the source code.

2 Likes

Downloading latest JBR from GitHub and replacing one packed with IDEA solved all the problems. I now have fully functioning Librem 5 + lapdock + Idea. Thanks everyone

3 Likes