I’m discovering this issue suddenly after getting it reported on a game I recently released, with users no longer able to ‘launch’ the game. Basically on launch all the FMOD libraries fail to load, and subsequently put the game into a bad state.
Unable to preload the following plugins:
libfmod.so
libfmodL.so
libfmodstudio.so
…
DllNotFoundException: Unable to load DLL ‘fmodstudio’: The specified module could not be found.
at FMOD.Memory.GetStats (System.Int32& currentalloced, System.Int32& maxalloced, System.Boolean blocking) [0x00000] in <00000000000000000000000000000000>:0
at FMODUnity.RuntimeUtils.EnforceLibraryOrder () [0x00000] in <00000000000000000000000000000000>:0
at FMODUnity.StudioListener.OnEnable () [0x00000] in <00000000000000000000000000000000>:0
This appears to be directly related to the new glibc update which has broken backwards compatibility on a rather big scale, (it’s broken Portal 2, CS2GO, Celeste, Discord on Linux for example)
In the Celeste Steam forum, it was realized that running execstack -c on the fmod libraries would allow the game to run correctly again. I tried it on my own game and achieved similar success.
There’s a bug report for glibc discussing the issue, FMOD is mentioned there.
I uh, am mostly posting this for awareness. I have NO IDEA what the ‘correct’ solution here is. I am using Unity 2019 + FMOD 2.01.15 for this project, so I’m unclear exactly on if this is a thing I need to fix, FMOD needs to fix, Unity needs to fix, or glibc needs to break down and add compatibility for again. I only know execstack -c on the fmod linux libraries solves the problem, but I don’t know if that introduces possible other problems either.