Aroenai wrote:Hey Chris, does zdoom crash for you when you find a secret area on Linux with OpenAL?
It will crash if it builds with FMOD support too, because FMOD includes a bunch of standard libs built-in, with some modifications apparently, and leaves their symbols exposed so GStreamer and its plugins end up unexpectedly calling FMOD's functions and causes a crash. You can run cmake with -DNO_FMOD to disable FMOD support. This isn't an issue in Windows, BTW, because a module will load symbols only from a specific DLL, determined at link time.
I'm still looking at ways to resolve this. If FMOD can be loaded with the RTLD_LOCAL flag, it may prevent other libraries from seeing its symbols (if I'm understanding the man page correctly), but that has a problem: it's a flag for dlopen, and FMOD is linked on the command like, so dlopen flags aren't strictly available. I'm checking around to see if there's a way to specify that for the linker so ld will do it automatically. There is also the RTLD_NOLOAD flag for dlopen, which can be used to effectively modify a loaded lib's locality, but it's not standard and the FMOD lib name needs to be known by the code. I'll see what I can come up with.
Still can't get the Windows build to work even though it compiles fine either.
What problems are you having? Not initializing, crashing, or something else? If it's crashing, can you provide a backtrace?