[SOLVED]Cmake build error

SFCBias

23-06-2010 02:17:05

While compiling on Linux with CMake i get the error:

/usr/local/include/AL/al.h: In member function ‘bool OgreOggSound::OgreOggSoundManager::init(const std::string&, unsigned int, unsigned int, Ogre::SceneManager*)’:
/usr/local/include/AL/al.h:398: error: too many arguments to function ‘ALenum alGetError()’
/home/sfcbias/OgreOggSound/src/ogreoggsoundmanager.cpp:227: error: at this point in file
/home/sfcbias/OgreOggSound/src/ogreoggsoundmanager.cpp: In member function ‘void OgreOggSound::OgreOggSoundManager::_processQueuedSounds()’:
/home/sfcbias/OgreOggSound/src/ogreoggsoundmanager.cpp:2668: error: ‘_attachEffectToSoundImpl’ was not declared in this scope
/home/sfcbias/OgreOggSound/src/ogreoggsoundmanager.cpp:2670: error: ‘_attachFilterToSoundImpl’ was not declared in this scope
/home/sfcbias/OgreOggSound/src/ogreoggsoundmanager.cpp:2680: error: ‘_detachEffectFromSoundImpl’ was not declared in this scope
/home/sfcbias/OgreOggSound/src/ogreoggsoundmanager.cpp:2682: error: ‘_detachFilterFromSoundImpl’ was not declared in this scope
/home/sfcbias/OgreOggSound/src/ogreoggsoundmanager.cpp:2692: error: ‘_setEFXSoundPropertiesImpl’ was not declared in this scope
make[2]: *** [CMakeFiles/OgreOggSound.dir/src/ogreoggsoundmanager.cpp.o] Error 1
make[1]: *** [CMakeFiles/OgreOggSound.dir/all] Error 2

stickymango

23-06-2010 20:13:44

Thanks, fixed.

SFCBias

24-06-2010 01:32:09

Still get one error:
/usr/local/include/AL/al.h: In member function ‘bool OgreOggSound::OgreOggSoundManager::init(const std::string&, unsigned int, unsigned int, Ogre::SceneManager*)’:
/usr/local/include/AL/al.h:398: error: too many arguments to function ‘ALenum alGetError()’
/home/sfcbias/OgreOggSound/src/ogreoggsoundmanager.cpp:227: error: at this point in file
make[2]: *** [CMakeFiles/OgreOggSound.dir/src/ogreoggsoundmanager.cpp.o] Error 1
make[1]: *** [CMakeFiles/OgreOggSound.dir/all] Error 2
make: *** [all] Error 2

stickymango

24-06-2010 08:35:09

Hmm, i'll check it.

stickymango

24-06-2010 09:26:19

Try now?

SFCBias

24-06-2010 16:04:02

Hmm i think this has something to do with the version of AL im using because now i get
/usr/local/include/AL/alc.h: In member function ‘bool OgreOggSound::OgreOggSoundManager::init(const std::string&, unsigned int, unsigned int, Ogre::SceneManager*)’:
/usr/local/include/AL/alc.h:208: error: too few arguments to function ‘ALCenum alcGetError(ALCdevice*)’
/home/sfcbias/OgreOggSound/src/ogreoggsoundmanager.cpp:234: error: at this point in file
make[2]: *** [CMakeFiles/OgreOggSound.dir/src/ogreoggsoundmanager.cpp.o] Error 1
make[2]: Leaving directory `/home/sfcbias/OgreOggSound'
make[1]: *** [CMakeFiles/OgreOggSound.dir/all] Error 2
make[1]: Leaving directory `/home/sfcbias/OgreOggSound'
make: *** [all] Error 2


But when i comment out that troublesome line, everything seems to work smoothly even though it looks like i lose that bit of error checking. Im using 1.12 from synaptic(package manager) . But also (I just tried this) If you compile the last revision you made( just before this one) against the version off of the OpenAL site (v1.11) at the moment, then the compile goes well. So maybe there's a compatibility issue at the moment with 1.12

stickymango

24-06-2010 16:07:10

Hmmm, I did think that alGerError() required a parameter on linux, that was part of a patch somebody supplied previously, I'll revert that back.

I don't know what versions of OpenAL are available for Linux, though when I did have access to a linux box I used Openal-soft.

SFCBias

24-06-2010 23:47:26

Yes but there is a version from synaptic and there's a version from the site, the one you used. And that is the one that works (v1.11) from the OpenAL site

stickymango

25-06-2010 22:47:05

You have it working okay now?

I don't know about the development of OpenAL for Linux, AFAIK development has ceased for windows at least, it was still version 1.1 when I last checked, I know OpenAL-soft was being developed though.

SFCBias

27-06-2010 13:25:04

Sorry for the late reply, Yes I'm able to build and link to the library now.