When building kdemultimedia 3.2.3, I get the following output. Fiddling with USE and CFLAGS gets the same result all the time. My USE flags are as follows: USE="-java -doc arts -oss X gstreamer apache2 mysql composite udev nptl mmx sse 3dnow readline usb tcpd nls alsa gtk2 oggvorbis mp3 dvd encode quicktime jpeg png cdr avi sdl xvideo xv opengl cups foomaticdb ppds xvid transcode v4l tiff offensive xml2 truetype freetype pdflib python imlib gif nvidia scanner" I've tried fiddling with CFLAGS. My normal CFLAGS are: CFLAGS="-O3 -mcpu=athlon-xp -march=athlon-xp -mmmx -m3dnow -msse -mfpmath=sse -fforce-addr -fomit-frame-pointer -funroll-loops -pipe" However, I've tried building with the following CFLAGS and got the same result: CFLAGS="-O2 -mcpu=athlon-xp -march=athlon-xp -pipe" /* Output from "emerge kdemultimedia" follows. */ synth_xfade_impl.cc:23:30: artsmodulessynth.h: No such file or directory /bin/sh ../../../libtool --silent --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../arts/modules -I../../../arts/modules -I../../../arts/gui/common -I../../../arts/midi -I../../../arts/runtime -I/usr/kde/3.2/include/arts -I/usr/kde/3.2/include/artsc -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/kde/3.2/include -I/usr/qt/3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -DNDEBUG -DNO_DEBUG -O2 -O2 -mcpu=athlon-xp -march=athlon-xp -mmmx -m3dnow -msse -mfpmath=sse -fforce-addr -fomit-frame-pointer -funroll-loops -pipe -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 synth_autopanner_impl.lo synth_autopanner_impl.cc synth_xfade_impl.cc:28: error: parse error before `,' token synth_xfade_impl.cc:36: error: `samples' was not declared in this scope synth_xfade_impl.cc:36: error: parse error before `;' token synth_xfade_impl.cc:36: error: syntax error before `++' token synth_xfade_impl.cc:40: error: `i' was not declared in this scope synth_xfade_impl.cc:40: error: ISO C++ forbids declaration of `outvalue' with no type synth_xfade_impl.cc:40: error: `invalue1' was not declared in this scope synth_xfade_impl.cc:40: error: `i' was not declared in this scope synth_xfade_impl.cc:40: error: `p' was not declared in this scope synth_xfade_impl.cc:40: error: `invalue2' was not declared in this scope synth_xfade_impl.cc:40: error: `i' was not declared in this scope synth_xfade_impl.cc:40: error: `p' was not declared in this scope synth_xfade_impl.cc:40: error: assignment (not initialization) in declaration synth_xfade_impl.cc:41: error: parse error before `}' token synth_xfade_impl.cc: In member function `virtual std::string Synth_XFADE_impl_Factory::interfaceName()': synth_xfade_impl.cc:45: error: incomplete type 'Synth_XFADE_impl' cannot be used to name a scope synth_xfade_impl.cc: In member function `virtual Arts::Object_skel* Synth_XFADE_impl_Factory::createInstance()': synth_xfade_impl.cc:45: error: invalid use of undefined type `class Synth_XFADE_impl' synth_xfade_impl.cc:28: error: forward declaration of `class Synth_XFADE_impl' make[4]: *** [synth_xfade_impl.lo] Error 1 make[4]: *** Waiting for unfinished jobs.... make[4]: Leaving directory `/var/tmp/portage/kdemultimedia-3.2.3/work/kdemultimedia-3.2.3/arts/modules/synth' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/kdemultimedia-3.2.3/work/kdemultimedia-3.2.3/arts/modules' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/kdemultimedia-3.2.3/work/kdemultimedia-3.2.3/arts' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/kdemultimedia-3.2.3/work/kdemultimedia-3.2.3' make: *** [all] Error 2 !!! ERROR: kde-base/kdemultimedia-3.2.3 failed. !!! Function kde_src_compile, Line 129, Exitcode 2 !!! died running emake, kde_src_compile:make /* end emerge output */ Please email me if you have further questions; I'll do my best to help resolve this issue. -- Matthew Graybosch public@starbreaker.net
you do have arts-1.2.3 installed, right?
I had exactly the same problem as this, the same results with two attempted emerges. I looked at the dependencies of kdemultimedia, and tried re-emerging taglib. That was the only difference, and kdemultimedia then emerged successfully.
the missing artsmodulessynth.h is a generated file, so this is probably a parallel make issue (Makefiles rarely take care of such strange dependencies). try with MAKEOPTS="-j1"
I installed a new Gentoo system today and the above problem occurred again. Re-emerging taglib had no effect, but using MAKEOPTS=-j1 did correct the problem. I assume that the previous success was simply chance, that without -j1, make made in the right order that time. It looks this is the solution.
kdemultimedia-3.3.0_beta1 also exhibited compilation problems for me, although in a different place, and MAKEOPTS="-j1" indeed fixed it too.
*** Bug 61579 has been marked as a duplicate of this bug. ***
i added MAKEOPTS="-j1" to my make.conf, and went emerge taglib, emerge arts, and then emerge kdemultimedia, and it seemed to build fine now (thought id redo taglib and arts to be safe, with the new option). Would be interesting to know why it wants that MAKEOPTS flag in the first place :)
KDE Bug #87385, fixed in kde cvs - just fixed in portage (for 3.2.3 and 3.3.0).