Red Hat Bugzilla – Bug 61904
SDL_mixer-devel needs libogg-devel and libvorbis-devel
Last modified: 2005-10-31 17:00:50 EST
As documented by the file libSDL_mixer.la, one needs to link with all of
libvorbisfile, libvorbis, and libogg when using libSDL_mixer. That also mean it
would make sense to let SDL_mixer-devel require libvorbis and libogg, doesn't
it? (Or am I missing some way the package could be used without these other
libraries also installed?)
[bero@bero ~]# ldd /usr/lib/libSDL_mixer.so
libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x4005b000)
libpthread.so.0 => /lib/i686/libpthread.so.0 (0x400d4000)
libvorbisfile.so.0 => /usr/lib/libvorbisfile.so.0 (0x400e8000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x400ee000)
libogg.so.0 => /usr/lib/libogg.so.0 (0x4010c000)
libsmpeg-0.4.so.0 => /usr/lib/libsmpeg-0.4.so.0 (0x40110000)
libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
libm.so.6 => /lib/i686/libm.so.6 (0x40171000)
libdl.so.2 => /lib/libdl.so.2 (0x40193000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40196000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40273000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
Since SDL_mixer itself is linked against libvorbis, libvorbisfile and libogg,
there's no need to link applications using it against those libraries: That is
done implicitely. So yes, you can build stuff using SDL_mixer even if you
don't have the ogg and vorbis development environments installed.
libtool (cause of the *.la files) is designed mostly with crappy systems in
mind that don't allow shared libraries to depend implicitely on others, that's
why libtool insists putting in -lvorbis and friends even though it's not
That's interesting. You learn all the time.
But then it would instead need libogg and libvorbis, wouldn't it? If I remove
for example libvorbis.so.0 (from libvorbis, not libvorbis-devel), I don't seem
to be able to link any more.
You could in principle do a separate compilation,
without linking, using only the header file SDL_mixer.h. So very strictly you
could use the package without the libvorbis package. But for any meaningful
case it seems at least libvorbis and libogg would be needed.
I lowered the seveity of this bug. It is fine tuning. I leave it to you to
decide if it is too much fine tuning to bother with at all, or if it is worth it.
I took another look at this. Now SDL_mixer-devel requires (a
particular version of) SDL_mixer, and SDL_mixer requires the libraries
from libvorbis. So it seems all needed requirements are there today.
I'll close this.