[packman] Funguloids fails to run with openal-soft (default in 11.1)

Cristian Morales Vega cmorve69 at yahoo.es
Tue Jan 13 20:58:35 CET 2009

2009/1/13 Toni <toni at links2linux.de>:
> Am Dienstag, 13. Januar 2009 schrieb Cristian Morales Vega:
>> openSUSE 11.1 provides both the old openal from http://www.openal.org/
>> and the new openal-soft from http://kcat.strangesoft.net/openal.html,
>> but by default uses openal-soft. Because of this funguloids fails to
>> start.
>> To fix it the patch from
>> http://funguloids.sourceforge.net/alc_error.patch needs to be applied.
> webpin openal-soft -d11.0
>   7 results (4 packages) found for "openal-soft" in openSUSE_110
> * openal-soft: OpenAL Soft
>   - 1.2.218 [BS::home:/ickruis]
>   - 1.6.372 [BS::home:/b-s-a | BS::home:/lnussel:/ioquake3]
> * openal-soft-devel: OpenAL Soft development files
>   - 1.6.372 [BS::home:/b-s-a | BS::home:/lnussel:/ioquake3]
> * openal-soft-debuginfo: Debug information for package openal-soft
>   - 1.6.372 [BS::home:/b-s-a]
> * openal-soft-debugsource: Debug sources for package openal-soft
>   - 1.6.372 [BS::home:/b-s-a]
> so openal-soft is not in a official repository ...
> and so I don't need the patch, if you look in the spec-file the patch is
> tested and ready for build, but as openal-soft is in no official repos I
> removed it.

Change -d11.0 for -d11.1 ;-)
It's there -> http://download.opensuse.org/distribution/11.1/repo/oss/suse/x86_64/openal-soft-1.5.304-1.33.x86_64.rpm
When running the game I get:
OpanAL: error creating context: AL_INVALID_OPERATION
OpenALSoundSystem ERROR: cannot create SoundSystem.
funguloids: openalsoundsystem.cpp:510: void
OpenALSoundSystem::update(): Assertion `mStreamPlayer' failed.

> openal is a "Requires" in funguloids but if openal-soft is providing also
> openal this is not correct if the api is not equal....

It's supposed to be the same API, I suppose the patch is needed
because the code was using an undefined behavior or something...

>> Also, the package requires Cg, freealut, mad, ogre, ogre-plugin-Cg and
>> openal. - ogre-plugin-Cg already provides Cg, so directly requiring it only
>> adds work to zypper.
> I prefer to name exactly the requires per package. So I'm not depending on the
> right Requires of other packages. And it takes some extra work to check every
> time if a package is requireing already other packages.


>> - The package already requires libalut.so.0, so no need for a freealut
>> require. Also avoids the posibility of use alternative implementations
>> of ALUT... even if I don't think they exist.
> that's exactly the reason: I want to use freealut.


>> - There is also a require of libmad.so.0, so no direct mad require is
>> needed. - There is also a require of libOgreMain-1.6.0.so, so no direct
>> ogre require is needed.
> mad is not needed, this will be corrected

The binary links against libmad. From
http://funguloids.sourceforge.net/readme.html#howtoplay it seems the
game only comes with Vorbis audio, but if linked against libmad an
user could also add MP3 music in $HOME/.funguloids/music/.

>> - There is also a require of libopenal.so.0, so no direct openal
>> require is needed.
> of course, because I want to force exactly the openal package

The openal-soft package also provides openal, so you can't force one.
Also, since both packages can't be installed at the same time and
openal-soft seems to be better it would make more sense to force
openal-soft instead (but perhaps openSUSE plans to just remove openal
and rename openal-soft to openal in future versions).
Anyway a "ldd -u -r" says libopenal.so.0 isn't a real direct depency
(I don't know about openal, but I suppose funguloids is using openal
only through alut?). If it's removed you would not need to select one.

>> - The OBS Games repo names "ogre-plugin-Cg" as "libogre1_6-plugin-Cg".
>> No that one is better than the other (I don't think shlib packaging
>> policy applies to it, even if it applies to ogre itself), but it would
>> be good if the funguloids from Packman worked with the
>> libogre1_6-plugin-Cg from Games. CCing Pavol Rusnak since he is the
>> ogre package bugowner in OBS.
> I've provided Cg much longer than the OBS, so why should I follow
> always "someones" naming ideas in some repositories ?
> The plugin has no so-name, so it needs not to be named according shared
> library policy. its a plugin not a shared library

An alternative is to add a provides to the OBS package instead...

More information about the Packman mailing list