Version 3.7.0-stable - 'openal' was not found in the classpath via 'libopenal64.so

Hi,
I’m on UbuntuStudio 24.04 LTS
I just upgraded JME version in my maven pom.xml from 3.6.1-stable to 3.7.0-stable
and get the following Exception:

INFO: Running on jMonkeyEngine 3.7.0-stable
* Branch: HEAD
* Git Hash: bc6cdf5
* Build Date: 2024-10-21
Exception in thread "jME3 Main" java.lang.UnsatisfiedLinkError: The required native library 'openal' was not found in the classpath via 'libopenal64.so
at com.jme3.system.NativeLibraryLoader.loadNativeLibrary(NativeLibraryLoader.java:472)
at com.jme3.system.lwjgl.LwjglContext.loadNatives(LwjglContext.java:239)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:222)
at java.base/java.lang.Thread.run(Thread.java:1583)

How can I fix this ?
And why didn’t I get this issue with 3.6.1 ?

Thanks

1 Like

Is this a desktop project or an Android project?
If desktop, does it use jme3-lwjgl or jme3-lwjgl3?
If desktop, which operating system and CPU is the test app executing on?

It’s a desktop project.

  • UbuntuStudio 24.04 LTS
  • Linux 6.8.0-47-lowlatency #47.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 7 15:01:17 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
  • AMD Ryzen 9 5900X 12-Core Processor

in the pom.xml there is a depencency to
jme3-lwjgl

Thanks
Regards

when I switch to jme3-lwjgl3 then the issue disappears.

@sgold thanks for your help :smile:

1 Like

@sc3: I’m very glad you got your project working.

However, this seems like a regression in JME 3.7 that ought to be investigated.

For instance, I wonder if it might be related to PR 1973, which was integrated back in March 2023. Were that the case, the regression would have appeared in 3.7.0-alpha1 .

It might be helpful to know what dependencies were in the project POM (when it was using jme3-lwjgl).

I did not try any of the 3.7 alpha/beta builds.

Here are some of the dependencies I can share:

     <properties>
    <jme3_g>org.jmonkeyengine</jme3_g>
    <jme3_v>3.7.0-stable</jme3_v>
  </properties>
  
 <repositories>
    <repository>
      <id>mvnrepository</id>
      <url>https://repo1.maven.org/maven2/</url>
    </repository>
    
    <repository>
      <id>jitpack</id>
      <url>https://jitpack.io/</url>
    </repository>
    
    <repository>
    <id>jcenter</id>
    <name>jcenter</name>
    <url>https://jcenter.bintray.com</url>
    </repository>
  </repositories>
  
 <dependencies>
    <dependency>
      <groupId>${jme3_g}</groupId>
      <artifactId>jme3-core</artifactId>
      <version>${jme3_v}</version>
    </dependency>
    <dependency>
      <groupId>${jme3_g}</groupId>
      <artifactId>jme3-desktop</artifactId>
      <version>${jme3_v}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>${jme3_g}</groupId>
      <artifactId>jme3-lwjgl</artifactId>
      <version>${jme3_v}</version>
                    <exclusions>
                <exclusion>
                    <groupId>org.jmonkeyengine</groupId>
                    <artifactId>lwjgl-platform</artifactId>
                </exclusion>
            </exclusions>
    </dependency>


<dependency>
    <groupId>${jme3_g}</groupId>
    <artifactId>jme3-effects</artifactId>
    <version>${jme3_v}</version>
</dependency>





<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>2.0.0-alpha5</version>
</dependency>

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>30.1.1-jre</version>
</dependency>


<dependency>
    <groupId>com.simsilica</groupId>
    <artifactId>lemur</artifactId>
    <version>1.15.0</version>
</dependency>


<dependency>
    <groupId>org.dyn4j</groupId>
    <artifactId>dyn4j</artifactId>
    <version>4.2.1</version>
</dependency>
1 Like

Why do you exclude lwjgl-platform?

I honestly don’t remember,
probably added at some point to fix something.