[BUG][Gradle] Could not find lwjgl-nfd-3.2.3-natives-linux-arm64.jar

Started by CuriousTommy, January 01, 2021, 23:11:45

Previous topic - Next topic

CuriousTommy

Hello Everyone,

I'm currently trying to get LWJGL set up on my Raspberry Pi (Ubuntu 20.10) though Gradle. I encountered an issue where the lwjgl-nfd-3.2.3-natives-linux-arm64.jar file does not seem to exist in the repo.maven.apache.org website.

In case you need to see this, I copied over the error message and the Gradle build script that I used.

Error:
2:47:13 PM: Executing task 'Main.main()'...

> Task :compileJava
> Task :processResources NO-SOURCE
> Task :classes
> Task :Main.main() FAILED

FAILURE: Build failed with an exception.

* Where:
Initialization script '/tmp/ijresolvers.gradle' line: 243

* What went wrong:
Execution failed for task ':Main.main()'.
> Could not resolve all files for configuration ':runtimeClasspath'.
   > Could not find lwjgl-nfd-3.2.3-natives-linux-arm64.jar (org.lwjgl:lwjgl-nfd:3.2.3).
     Searched in the following locations:
         https://repo.maven.apache.org/maven2/org/lwjgl/lwjgl-nfd/3.2.3/lwjgl-nfd-3.2.3-natives-linux-arm64.jar

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org


build.gradle
import org.gradle.internal.os.OperatingSystem

plugins {
    id 'java'
}

group 'org.thomasa'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.11

project.ext.lwjglVersion = "3.2.3"
project.ext.jomlVersion = "1.9.25"

switch (OperatingSystem.current()) {
    case OperatingSystem.LINUX:
        def osArch = System.getProperty("os.arch")
        project.ext.lwjglNatives = osArch.startsWith("arm") || osArch.startsWith("aarch64")
                ? "natives-linux-${osArch.contains("64") || osArch.startsWith("armv8") ? "arm64" : "arm32"}"
                : "natives-linux"
        break
    case OperatingSystem.MAC_OS:
        project.ext.lwjglNatives = "natives-macos"
        break
    case OperatingSystem.WINDOWS:
        project.ext.lwjglNatives = System.getProperty("os.arch").contains("64") ? "natives-windows" : "natives-windows-x86"
        break
}

repositories {
    mavenCentral()
}

dependencies {
    implementation platform("org.lwjgl:lwjgl-bom:$lwjglVersion")

    implementation "org.lwjgl:lwjgl"
    implementation "org.lwjgl:lwjgl-assimp"
    implementation "org.lwjgl:lwjgl-egl"
    implementation "org.lwjgl:lwjgl-glfw"
    implementation "org.lwjgl:lwjgl-nfd"
    implementation "org.lwjgl:lwjgl-openal"
    implementation "org.lwjgl:lwjgl-opengles"
    implementation "org.lwjgl:lwjgl-stb"
    runtimeOnly "org.lwjgl:lwjgl::$lwjglNatives"
    runtimeOnly "org.lwjgl:lwjgl-assimp::$lwjglNatives"
    runtimeOnly "org.lwjgl:lwjgl-glfw::$lwjglNatives"
    runtimeOnly "org.lwjgl:lwjgl-nfd::$lwjglNatives"
    runtimeOnly "org.lwjgl:lwjgl-openal::$lwjglNatives"
    runtimeOnly "org.lwjgl:lwjgl-opengles::$lwjglNatives"
    runtimeOnly "org.lwjgl:lwjgl-stb::$lwjglNatives"
    implementation "org.joml:joml:${jomlVersion}"
}


test {
    useJUnitPlatform()
}

spasi

This is a known issue, LWJGL lacks NFD builds for Linux/ARM atm. Please open an issue on github and you'll get notified if/when it becomes available.