Game Development Community

Possible OpenAL bug

by Jeff Mings · in General Discussion · 04/22/2002 (3:29 am) · 7 replies

As requested, I'm posting info on a likely bug:

After running ./realmwars -console , I receive :
--------- Loading MODS ---------
Loading compiled script common/main.cs.
Loading compiled script common/defaults.cs.
Loading compiled script rw/main.cs.
Loading compiled script rw/client/defaults.cs.
Loading compiled script rw/server/defaults.cs.
Loading compiled script rw/client/prefs.cs.
Missing file: rw/server/prefs.cs!
%

[snipped to shorten post]

Loading compiled script common/client/recordings.cs.
%
OpenAL Driver Init:
OpenAL
Missing OpenAL function 'alGetBoolean', using emulated function
Missing OpenAL function 'alGetInteger', using emulated function
Missing OpenAL function 'alGetFloat', using emulated function
Missing OpenAL function 'alGetDouble', using emulated function
Missing OpenAL function 'alListeneri', using emulated function
Missing OpenAL function 'alGetListener3f', using emulated function
Missing OpenAL function 'alcGetContextsDevice', using emulated function
% Illegal instruction

The window pops up and dies immediately. System stats:
RH 7.2, kernel 2.4.18-16, 384MB RAM, K6-2 550, Nvidia GeForce3 Ti 200. Although the CPU is ancient, I get decent framerates in Unreal Tournament - much better than on my PIII 600 with Directx 8.1.
Suspecting problems with OpenAL, I compiled and installed the larger openal install at
http://www.garagegames.com/docs
/torque.sdk/gstarted/openal.html and compiled the test apps included with it as well. The mini-apps testdevice, testdoppler, testalut and testext worked and produced output and sound, but testvorbis returned the error:
Could not GetProc alutLoadVorbis_LOKI .

The -nosound switch changes nothing.

If there's any more info I can provide, or if you can tell me what I mis-configured, just email me at jeffm @ lava.net

Thanks,
-Jeff

About the author

Recent Threads


#1
04/22/2002 (9:28 am)
The "Missing OpenAL function" messages are normal.

I compiled the binary with optimization for pentium (i586). In theory, this should still work on a K6-2, but maybe it doesn't. I've compiled a new static binary without cpu specific optimization, if you want to try that you can download it from here (2677823 bytes):



Another possibility is that it is an OpenAL problem. The -nosound switch doesn't work, but you can prevent openal from being loaded by temporarily renaming "libopenal.so" to something else. You'll need to do this in the RealmWars directory and in /usr/lib or /usr/local/lib. After this, you should see a message when you start realmwars that says "Unable to initialize OpenAL".

Edit: Removed link to unoptimized binary. If you think you need this let me know.
#2
04/22/2002 (11:40 pm)
It WAS an openal problem! After the display popped up, things looked VERY nice! I was surprised at how smoothly everything was rendered on this older CPU - perfectly fluid. The water gently lapping on the banks and the clouds are the icing on the cake.

Thanks for the openal suggestion,
-Jeff
#3
04/23/2002 (9:22 am)
So the original executable works when you move/rename the library?

If you can, please try to determine which library is causing the crash, the one that comes with RealmWars, or one that was installed on your system.
#4
04/23/2002 (10:44 pm)
I'm really glad that you asked. Yes, the standard realmwars binary works beautifully - no need for a non-optimized version. Incidentally, Mandrake 8.1 is fully Pentium-optimized, and it installs perfectly on this machine, although I'm running RedHat 7.2 right now.
When I hid the version of openal (libopenal.so) included with the realmwars package and unhid the version of openal that I compiled and that was installed in /usr/lib, I got working sound! So the problem all along was the "bundled" version of openal. Now I just have to find out what the map/level editor can do...

Thanks,
-Jeff
#5
04/24/2002 (7:52 am)
Hmm, I'll look in to the precompiled openal. Perhaps I accidently compiled it with the "crash on some configurations" flag. :)
#6
04/24/2002 (11:12 am)
Thanks, John. Apparently, this _has_ been affecting others - I saw mention of the "illegal operation" crash on Slashdot shortly after this site was hit. Another poster pointed the crasher to the solution suggested here. It's always neat to see someone thousands of miles away refer to something you've created/submitted on the web.

-Jeff
#7
04/26/2002 (6:21 pm)
It turns out that I did indeed screw up when I built the libopenal library. I compiled it with -march=i686, which means it will only work on pentium II or higher systems. Doh.

Anyway, here's a link to a new libopenal.so that is compiled for i586, so it should work on any pentium compatible PC. Please try it and let me know if it works.

64.81.49.178/torque/libopenal-i586.tar.bz2