Context
Title
macOS Intel: NoSuchFileException while loading sable_rapier_x86_64_macos.dylib despite native library already existing
Context
Minecraft crashes every time a world is created or loaded during the initialization of the Rapier physics pipeline.
The exception is:
java.nio.file.NoSuchFileException:
.sable/natives/sable_rapier_x86_64_macos.dylib
The stack trace points to:
dev.ryanhcode.sable.physics.impl.rapier.Rapier3D.loadLibrary(Rapier3D.java:90)
What I've already verified
- macOS 14.7.6 (Intel)
- NeoForge 21.1.234
- Minecraft 1.21.1
- Java 21 (Temurin)
- Sable 2.0.3
- Create Aeronautics 1.3.0
I have verified that:
.sable/natives exists.
sable_rapier_x86_64_macos.dylib already exists inside that directory before launching Minecraft.
- The directory is writable (
touch succeeds).
user.dir points to the correct Minecraft instance directory.
- I manually extracted the native library from
sable_rapier_binaries.zip.l4z and copied it into .sable/natives.
Despite all of this, Sable still throws:
java.nio.file.NoSuchFileException:
.sable/natives/sable_rapier_x86_64_macos.dylib
instead of loading the existing library.
Additional note
This looks related to the native loading path rather than the Rapier library itself, since the native file is already present and accessible. It may be another issue in Rapier3D.loadLibrary(), possibly related to path handling on macOS Intel.
Crash Report
https://mclo.gs/ejUg7TF
Context
Title
macOS Intel:
NoSuchFileExceptionwhile loadingsable_rapier_x86_64_macos.dylibdespite native library already existingContext
Minecraft crashes every time a world is created or loaded during the initialization of the Rapier physics pipeline.
The exception is:
The stack trace points to:
What I've already verified
I have verified that:
.sable/nativesexists.sable_rapier_x86_64_macos.dylibalready exists inside that directory before launching Minecraft.touchsucceeds).user.dirpoints to the correct Minecraft instance directory.sable_rapier_binaries.zip.l4zand copied it into.sable/natives.Despite all of this, Sable still throws:
instead of loading the existing library.
Additional note
This looks related to the native loading path rather than the Rapier library itself, since the native file is already present and accessible. It may be another issue in
Rapier3D.loadLibrary(), possibly related to path handling on macOS Intel.Crash Report
https://mclo.gs/ejUg7TF