The problem seems to be related to a header file missing during an ebuild session. One header is being created before another. Please follow this forum thread starting on page 8 about halfway down till page 9. This thread explains the issue really well. I've tried reinstalling arts, kdelibs, and kdebase. In short, this seems to be an error with the build process, relevant to this ebuild. Reproducible: Always Steps to Reproduce: 1.Install kdemultimedia-3.3.3 2.Get the error message Actual Results: monosimplemixerchannel_impl.cc:35: error: `gain_changed' undeclared (first use this function) monosimplemixerchannel_impl.cc: In function `float volume()': monosimplemixerchannel_impl.cc:39: error: `_volume' undeclared (first use this function) monosimplemixerchannel_impl.cc: In function `void volume(float)': monosimplemixerchannel_impl.cc:44: error: `mulVolumeLeft' undeclared (first use this function) monosimplemixerchannel_impl.cc:44: error: `pLeft' undeclared (first use this function) monosimplemixerchannel_impl.cc:44: error: `setValue' undeclared (first use this function) monosimplemixerchannel_impl.cc:45: error: `mulVolumeRight' undeclared (first use this function) monosimplemixerchannel_impl.cc:45: error: `pRight' undeclared (first use this function) monosimplemixerchannel_impl.cc:46: error: `volume_changed' undeclared (first use this function) monosimplemixerchannel_impl.cc: In function `float pan()': monosimplemixerchannel_impl.cc:50: error: `_pan' undeclared (first use this function) monosimplemixerchannel_impl.cc: In function `void pan(float)': monosimplemixerchannel_impl.cc:62: error: `setValue' undeclared (first use this function) monosimplemixerchannel_impl.cc:64: error: `pan_changed' undeclared (first use this function) monosimplemixerchannel_impl.cc: In function `std::string name()': monosimplemixerchannel_impl.cc:68: error: `_name' undeclared (first use this function) monosimplemixerchannel_impl.cc: In function `void name(const std::string&)': monosimplemixerchannel_impl.cc:73: error: `name_changed' undeclared (first use this function) monosimplemixerchannel_impl.cc: In function `void streamInit()': monosimplemixerchannel_impl.cc:79: error: `_equalizer' undeclared (first use this function) monosimplemixerchannel_impl.cc:85: error: `_node' undeclared (first use this function) monosimplemixerchannel_impl.cc:86: error: `connect' undeclared (first use this function) monosimplemixerchannel_impl.cc: At global scope: monosimplemixerchannel_impl.cc:103: error: parse error before `}' token monosimplemixerchannel_impl.cc: In member function `virtual std::string MonoSimpleMixerChannel_impl_Factory::interfaceName()': monosimplemixerchannel_impl.cc:104: error: `MonoSimpleMixerChannel_impl' undeclared (first use this function) monosimplemixerchannel_impl.cc:104: error: parse error before `;' token monosimplemixerchannel_impl.cc: In member function `virtual Arts::Object_skel* MonoSimpleMixerChannel_impl_Factory::createInstance()': monosimplemixerchannel_impl.cc:104: error: parse error before `;' token monosimplemixerchannel_impl.cc: At global scope: monosimplemixerchannel_impl.cc:105: error: parse error before `}' token make[4]: *** [monosimplemixerchannel_impl.lo] Error 1 make[4]: *** Waiting for unfinished jobs.... make[4]: Leaving directory `/var/tmp/portage/kdemultimedia-3.3.0/work/kdemultimedia-3.3.0/arts/modules/mixers' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/kdemultimedia-3.3.0/work/kdemultimedia-3.3.0/arts/modules' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/kdemultimedia-3.3.0/work/kdemultimedia-3.3.0/arts' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/kdemultimedia-3.3.0/work/kdemultimedia-3.3.0' make: *** [all] Error 2 !!! ERROR: kde-base/kdemultimedia-3.3.0 failed. !!! Function kde_src_compile, Line 135, Exitcode 2 !!! died running emake, kde_src_compile:make Expected Results: Installed kdemultimedia // found the artsmodulesmixers.h in the /usr/kde/3.3/include/arts directory
probably a parallel make error using MAKEOPTS=-j1 may fix it
indeed it is - i've patched the kde sources upstream to make this work right and it should be fixed in 3.3.1 - until then, using MAKEOPTS=-j1 is a workaround for this ebuild.
Same problem here but with kde 3.3.1 and -j1 (...) .libs/akodeSpeexStreamPlayObject_impl.o(.gnu.linkonce.d._ZTC31akodeSpeexStreamPlayObject_impl0_20akodePlayObject_impl+0x5a4): undefined reference to `virtual thunk to Arts::StdSynthModule::autoSuspend()' .libs/akodeSpeexStreamPlayObject_impl.o(.gnu.linkonce.d._ZTC31akodeSpeexStreamPlayObject_impl0_20akodePlayObject_impl+0x5a8): undefined reference to `virtual thunk to Arts::StdSynthModule::start()' .libs/akodeSpeexStreamPlayObject_impl.o(.gnu.linkonce.d._ZTC31akodeSpeexStreamPlayObject_impl0_20akodePlayObject_impl+0x5ac): undefined reference to `virtual thunk to Arts::StdSynthModule::stop()' .libs/akodeSpeexStreamPlayObject_impl.o(.gnu.linkonce.d._ZTV31akodeSpeexStreamPlayObject_impl+0x5e8): undefined reference to `virtual thunk to Arts::StdSynthModule::autoSuspend()' .libs/akodeSpeexStreamPlayObject_impl.o(.gnu.linkonce.d._ZTV31akodeSpeexStreamPlayObject_impl+0x5ec): undefined reference to `virtual thunk to Arts::StdSynthModule::start()' .libs/akodeSpeexStreamPlayObject_impl.o(.gnu.linkonce.d._ZTV31akodeSpeexStreamPlayObject_impl+0x5f0): undefined reference to `virtual thunk to Arts::StdSynthModule::stop()' collect2: ld returned 1 exit status make[3]: *** [libarts_akode.la] Error 1 make[3]: Leaving directory `/var/tmp/portage/kdemultimedia-3.3.1/work/kdemultimedia-3.3.1/akode/arts_plugin' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/kdemultimedia-3.3.1/work/kdemultimedia-3.3.1/akode' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/kdemultimedia-3.3.1/work/kdemultimedia-3.3.1' make: *** [all] Error 2
That's a different issue: see bug 66849/bug 65736
I fixed my issue by commenting out the MAKEOPTS section of my makefile while emerging kdemultimedia.
original problem should be fixed in >=3.3.1