Summary: | kde-base/kdemultimedia 3.3.2 fails if speex not installed (no dependency) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Neil Funk <infinitedowntime> |
Component: | [OLD] KDE | Assignee: | Gentoo KDE team <kde> |
Status: | RESOLVED INVALID | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
URL: | http://www.cs.iastate.edu/~neilfunk/kdemultimedia_speex_error.txt | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Neil Funk
2004-12-15 23:42:52 UTC
It's true that kdemultimedia does not respect the speex USE flag, and speex support is compiled in if and only if it is autodetected by configure. But your compilation error comes after kdemultimedia has detected that speex _is_ installed on your system: from the ./configure output: checking for speex headers... yes checking for speex_decoder_ctl in -lspeex... yes checking for speex11 headers... yes checking for speex_decode_int in -lspeex... no What's strange is that given that ./configure output, you should have #define HAVE_SPEEX 1 #define HAVE_SPEEX11 1 /* #undef BROKEN_SPEEX11 */ in your /var/tmp/portage/kdemultimedia-3.3.2/work/kdemultimedia-3.3.2/config.h and then, reading akode/plugins/xiph_decoder/speex_decoder.cpp (line ~250): #if defined(HAVE_SPEEX11) && !defined(BROKEN_SPEEX11) speex_decode_int(m_data->dec_state, &m_data->bits, m_data->out_buffer); #else speex_decode(m_data->dec_state, &m_data->bits, m_data->out_buffer); #endif the function speex_decode_int() should be compiled, while it seems speex_decode() is compiled instead, and compilation fails. Hmm. I'm heading moving home today so I won't have time to check that stuff till sunday, but when I do I'll let you know. Thanks for looking into this with me. Well, this might have been my mistake :-[ I found that I somehow had speex headers in /usr/local/include even though I did not have speex installed. I don't know how they got there, but it's unlikely that this is any fault of kdemultimedia. Sorry about initially marking this as a blocker; I misunderstood the meaning. I think this bug can be closed, but I'll leave that up to someone who knows more about this than I. Thank you for your help. closing. I have pretty much the same problem. I have speex 1.0.2 installed (even reemerged it), but still speex_decode_int in -lspeex seems to be missing and leading to kdemultimedia compile failiour. Donnow exactly where, but somewhere something is broken for sure. Could someone reopen & possibly change bugsummary to something more apropriate? make[4]: Entering directory `/var/portage/tmp/portage/kdemultimedia-3.3.2/work/kdemultimedia-3.3.2/akode/plugins/xiph_decoder' /bin/sh ../../../libtool --silent --mode=compile --tag=CXX i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../akode/lib -I/usr/kde/3.3/include -I/usr/qt/3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -DNDEBUG -DNO_DEBUG -O2 -mcpu=athlon-xp -O2 -pipe -fomit-frame-pointer -fstack-protector -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -c -o flac_decoder.lo flac_decoder.cpp /bin/sh ../../../libtool --silent --mode=compile --tag=CXX i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../akode/lib -I/usr/kde/3.3/include -I/usr/qt/3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -DNDEBUG -DNO_DEBUG -O2 -mcpu=athlon-xp -O2 -pipe -fomit-frame-pointer -fstack-protector -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -c -o speex_decoder.lo speex_decoder.cpp /bin/sh ../../../libtool --silent --mode=compile --tag=CXX i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../akode/lib -I/usr/kde/3.3/include -I/usr/qt/3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -DNDEBUG -DNO_DEBUG -O2 -mcpu=athlon-xp -O2 -pipe -fomit-frame-pointer -fstack-protector -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -c -o vorbis_decoder.lo vorbis_decoder.cpp /bin/sh ../../../libtool --silent --mode=compile --tag=CXX i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../akode/lib -I/usr/kde/3.3/include -I/usr/qt/3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -DNDEBUG -DNO_DEBUG -O2 -mcpu=athlon-xp -O2 -pipe -fomit-frame-pointer -fstack-protector -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -c -o xiph_decoder.lo xiph_decoder.cpp speex_decoder.cpp: In member function `virtual bool aKode::SpeexDecoder::readFrame(aKode::AudioFrame*)': speex_decoder.cpp:251: error: cannot convert `int16_t*' to `float*' for argument `3' to `int speex_decode(void*, SpeexBits*, float*)' speex_decoder.cpp:262: error: cannot convert `int16_t*' to `float*' for argument `1' to `void speex_decode_stereo(float*, int, SpeexStereoState*)' make[4]: *** [speex_decoder.lo] Fel 1 make[4]: Leaving directory `/var/portage/tmp/portage/kdemultimedia-3.3.2/work/kdemultimedia-3.3.2/akode/plugins/xiph_decoder' make[3]: *** [all-recursive] Fel 1 make[3]: Leaving directory `/var/portage/tmp/portage/kdemultimedia-3.3.2/work/kdemultimedia-3.3.2/akode/plugins' make[2]: *** [all-recursive] Fel 1 make[2]: Leaving directory `/var/portage/tmp/portage/kdemultimedia-3.3.2/work/kdemultimedia-3.3.2/akode' make[1]: *** [all-recursive] Fel 1 make[1]: Leaving directory `/var/portage/tmp/portage/kdemultimedia-3.3.2/work/kdemultimedia-3.3.2' make: *** [all] Fel 2 !!! ERROR: kde-base/kdemultimedia-3.3.2 failed. !!! Function kde_src_compile, Line 166, Exitcode 2 !!! died running emake, kde_src_compile:make !!! If you need support, post the topmost build error, NOT this status message. --------- checking for vorbis headers... yes checking for ov_test_callbacks in -lvorbisfile... yes checking for speex headers... yes checking for speex_decoder_ctl in -lspeex... yes checking for speex11 headers... yes checking for speex_decode_int in -lspeex... no To try to fix this I tried emerging various unstable speex versions After emergin 1.0.3 it still failed. After emergin 1.1.5 it worked. I would thus assume that kdemultimedia 3.3.2 actually needs a Speexversion of 1.1.5 (or higher?) to work. Thus ebuild dependency version bug? |