Closed soundasleep closed 7 months ago
Hey @soundasleep,
A cleaner workaround is to simply call FMOD.getLibrary()
. This will trigger FMOD's static init and libfmod.dylib
will be loaded by LWJGL.
Anyway, I tried using the FMOD bindings on macOS and got a similar error. Loading the dylibs fails with "Apple cannot check it for malicious software", i.e. the libraries are getting quarantined. After running sudo xattr -r -d com.apple.quarantine .
in FMOD's api
folder, the bindings worked fine.
Thank you @Spasi ! FMOD.getLibrary()
works great, and it looks like this has better smarts in finding the location of libraries packaged up through jpackage. (You may need to first codesign
the .dylibs before passing them in as --input
to jpackage.)
Perhaps in lwjgl, FMODStudio.getLibrary()
should first call FMOD.getLibrary()
?
Yeah, Apple gatekeeper/quarantine/etc is a nightmare. My understanding is that com.apple.quarantine
is applied to anything that's extracted from a .zip.
Super helpful guides on dealing with quarantine and gatekeeper and notarization and signing issues --> https://developer.apple.com/forums/thread/706442
@soundasleep FMODStudio
and FSBank
will load the fmod library automatically in 3.3.4-snapshot+2
. Thanks!
Version
3.3.3
Platform
macOS x64
JDK
OpenJDK 64-Bit Server VM v17.0.4+8 by Eclipse Adoptium
Module
FMOD
Bug description
Hello! As far as I can tell the best way to package FMOD is to use both
libfmod
andlibfmodstudio
(two separate .dlls or .dylibs). This works fine on Windows but out-of-the-box I got an UnsatisfiedLinkError when trying to loadlibfmodstudio.dylib
(see attached).A simple workaround is to first load the library before your first FMOD library call:
Stacktrace or crash log output