I'm using KDE 3.4 without arts support. I'm trying to install yammi-1.2 with these use flags: [ebuild U ] media-sound/yammi-1.2 [1.0-r1] -arts +cdr -debug +encode -kde* -kdeenablefinal +oggvorbis -xinerama +xmms 0 kB but it fail to compile: i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/kde/3.4/include -I/usr/qt/3/include -I. -I/usr/include/taglib -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -DNDEBUG -DNO_DEBUG -O2 -march=athlon-xp -mmmx -m3dnow -msse -mfpmath=sse -Os -fPIC -ftracer -fforce-addr -funroll-loops -ffast-math -s -pipe -DNDEBUG -DG_DISABLE_ASSERT -DG_DISABLE_DEBUG -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -c -o foldercategories.o `test -f 'foldercategories.cpp' || echo './'`foldercategories.cpp artsplayer.cpp:20:30: arts/kplayobject.h: No such file or directory artsplayer.cpp:21:37: arts/kplayobjectfactory.h: No such file or directory artsplayer.cpp:22:34: arts/kartsdispatcher.h: No such file or directory artsplayer.cpp:23:30: arts/kartsserver.h: No such file or directory artsplayer.cpp: In constructor `Yammi::ArtsPlayer::ArtsPlayer(YammiModel*)': artsplayer.cpp:35: error: invalid use of undefined type `struct KArtsDispatcher ' artsplayer.h:29: error: forward declaration of `struct KArtsDispatcher' artsplayer.cpp:37: error: invalid use of undefined type `struct KArtsServer' artsplayer.h:30: error: forward declaration of `struct KArtsServer' artsplayer.cpp:42: error: `Arts' undeclared (first use this function) artsplayer.cpp:42: error: (Each undeclared identifier is reported only once for each function it appears in.) artsplayer.cpp:42: error: parse error before `::' token artsplayer.cpp:43: error: `server' undeclared (first use this function) artsplayer.cpp:48: error: invalid use of undefined type `struct KDE::PlayObjectFactory' artsplayer.h:26: error: forward declaration of `struct KDE::PlayObjectFactory' artsplayer.cpp: In destructor `virtual Yammi::ArtsPlayer::~ArtsPlayer()': artsplayer.cpp:58: warning: possible problem detected in invocation of delete operator: artsplayer.cpp:58: warning: invalid use of undefined type `struct KDE::PlayObjectFactory' artsplayer.h:26: warning: forward declaration of `struct KDE::PlayObjectFactory ' artsplayer.cpp:58: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined. artsplayer.cpp:59: warning: possible problem detected in invocation of delete operator: artsplayer.cpp:59: warning: invalid use of undefined type `struct KArtsServer' artsplayer.h:30: warning: forward declaration of `struct KArtsServer' artsplayer.cpp:59: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined. artsplayer.cpp:60: warning: possible problem detected in invocation of delete operator: artsplayer.cpp:60: warning: invalid use of undefined type `struct KArtsDispatcher' artsplayer.h:29: warning: forward declaration of `struct KArtsDispatcher' artsplayer.cpp:60: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined. artsplayer.cpp: In member function `virtual void Yammi::ArtsPlayer::check()': artsplayer.cpp:71: warning: possible problem detected in invocation of delete operator: artsplayer.cpp:71: warning: invalid use of undefined type `struct KDE::PlayObject' artsplayer.h:27: warning: forward declaration of `struct KDE::PlayObject' artsplayer.cpp:71: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined. artsplayer.cpp: In member function `virtual PlayerStatus Yammi::ArtsPlayer::getStatus()': artsplayer.cpp:88: error: `state' undeclared (first use this function) artsplayer.cpp:89: error: parse error before `::' token artsplayer.cpp:91: error: parse error before `::' token artsplayer.cpp:93: error: parse error before `::' token artsplayer.cpp: In member function `virtual bool Yammi::ArtsPlayer::play()': artsplayer.cpp:107: error: `state' undeclared (first use this function) artsplayer.cpp:107: error: parse error before `::' token artsplayer.cpp: At global scope: artsplayer.cpp:114: error: parse error before `return' artsplayer.cpp:118: error: syntax error before `::' token artsplayer.cpp:122: error: ISO C++ forbids declaration of `status' with no type artsplayer.cpp:122: error: `getStatus' was not declared in this scope artsplayer.cpp:123: error: ISO C++ forbids declaration of `statusChanged' with no type artsplayer.cpp:124: error: parse error before `return' artsplayer.cpp:128: error: syntax error before `::' token artsplayer.cpp:130: error: ISO C++ forbids declaration of `jumpTo' with no type artsplayer.cpp:137: error: parse error before `return' artsplayer.cpp:141: error: syntax error before `::' token artsplayer.cpp:151: error: ISO C++ forbids declaration of `status' with no type artsplayer.cpp:151: error: redefinition of `int status' artsplayer.cpp:122: error: `int status' previously defined here artsplayer.cpp:151: error: `getStatus' was not declared in this scope artsplayer.cpp:152: error: ISO C++ forbids declaration of `statusChanged' with no type artsplayer.cpp:153: error: parse error before `return' artsplayer.cpp:157: error: syntax error before `::' token artsplayer.cpp:162: error: `getStatus' was not declared in this scope artsplayer.cpp:163: error: parse error before `if' artsplayer.cpp:168: error: ISO C++ forbids declaration of `m_currentPlay' with no type artsplayer.cpp:169: error: parse error before `}' token artsplayer.cpp:170: error: ISO C++ forbids declaration of `m_currentSong' with no type artsplayer.cpp:173: error: syntax error before `->' token artsplayer.cpp:174: error: ISO C++ forbids declaration of `syncYammi2Player' with no type artsplayer.cpp:175: error: ISO C++ forbids declaration of `playlistChanged' with no type artsplayer.cpp:176: error: parse error before `if' artsplayer.cpp:186: error: syntax error before `::' token artsplayer.cpp:189: error: syntax error before `->' token artsplayer.cpp:194: error: syntax error before `::' token artsplayer.cpp:197: error: `model' was not declared in this scope artsplayer.cpp:199: error: parse error before `if' artsplayer.cpp:204: error: ISO C++ forbids declaration of `m_currentPlay' with no type artsplayer.cpp:204: error: redefinition of `int m_currentPlay' artsplayer.cpp:168: error: `int m_currentPlay' previously defined here artsplayer.cpp:205: error: ISO C++ forbids declaration of `m_currentSong' with no type artsplayer.cpp:205: error: redefinition of `int m_currentSong' artsplayer.cpp:170: error: `int m_currentSong' previously defined here artsplayer.cpp:206: error: parse error before `if' artsplayer.cpp:229: error: ISO C++ forbids declaration of `m_currentPlay' with no type artsplayer.cpp:229: error: redefinition of `int m_currentPlay' artsplayer.cpp:204: error: `int m_currentPlay' previously defined here artsplayer.cpp:230: error: parse error before `}' token artsplayer.cpp:231: error: ISO C++ forbids declaration of `m_currentSong' with no type artsplayer.cpp:231: error: redefinition of `int m_currentSong' artsplayer.cpp:205: error: `int m_currentSong' previously defined here artsplayer.cpp:233: error: `model' was not declared in this scope artsplayer.cpp:233: error: `playlist' was not declared in this scope artsplayer.cpp:234: error: ISO C++ forbids declaration of `kndDebug' with no type artsplayer.cpp: In function `int kndDebug()': artsplayer.cpp:234: error: parse error before `<<' token artsplayer.cpp:235: error: ISO C++ forbids declaration of `m_currentSong' with no type artsplayer.cpp:235: error: redefinition of `int m_currentSong' artsplayer.cpp:231: error: `int m_currentSong' previously defined here artsplayer.cpp:235: error: `playlist' undeclared (first use this function) artsplayer.cpp:236: error: aggregate `KURL url' has incomplete type and cannot be defined artsplayer.cpp:237: error: syntax error before `.' token artsplayer.cpp:242: error: ISO C++ forbids declaration of `m_currentPlay' with no type artsplayer.cpp:242: error: redefinition of `int m_currentPlay' artsplayer.cpp:229: error: `int m_currentPlay' previously defined here artsplayer.cpp:242: error: `m_factory' undeclared (first use this function) artsplayer.cpp:243: error: ISO C++ forbids declaration of `kndDebug' with no type artsplayer.cpp: In function `int kndDebug()': artsplayer.cpp:243: error: redefinition of `int kndDebug()' artsplayer.cpp:234: error: `int kndDebug()' previously defined here artsplayer.cpp:243: error: redefinition of `int kndDebug()' artsplayer.cpp:234: error: `int kndDebug()' previously defined here artsplayer.cpp:243: error: parse error before `<<' token artsplayer.cpp:247: error: syntax error before `->' token artsplayer.cpp:248: error: syntax error before `->' token artsplayer.cpp:249: error: ISO C++ forbids declaration of `kndDebug' with no type artsplayer.cpp: In function `int kndDebug()': artsplayer.cpp:249: error: redefinition of `int kndDebug()' artsplayer.cpp:243: error: `int kndDebug()' previously defined here artsplayer.cpp:249: error: redefinition of `int kndDebug()' artsplayer.cpp:243: error: `int kndDebug()' previously defined here artsplayer.cpp:249: error: redefinition of `int kndDebug()' artsplayer.cpp:234: error: `int kndDebug()' previously defined here artsplayer.cpp:249: error: parse error before `<<' token artsplayer.cpp:254: error: ISO C++ forbids declaration of `kndDebug' with no type artsplayer.cpp: In function `int kndDebug()': artsplayer.cpp:254: error: redefinition of `int kndDebug()' artsplayer.cpp:249: error: `int kndDebug()' previously defined here artsplayer.cpp:254: error: redefinition of `int kndDebug()' artsplayer.cpp:249: error: `int kndDebug()' previously defined here artsplayer.cpp:254: error: redefinition of `int kndDebug()' artsplayer.cpp:243: error: `int kndDebug()' previously defined here artsplayer.cpp:254: error: redefinition of `int kndDebug()' artsplayer.cpp:234: error: `int kndDebug()' previously defined here artsplayer.cpp:254: error: parse error before `<<' token artsplayer.cpp:259: error: syntax error before `::' token artsplayer.cpp:267: error: ISO C++ forbids declaration of `status' with no type artsplayer.cpp:267: error: redefinition of `int status' artsplayer.cpp:151: error: `int status' previously defined here artsplayer.cpp:267: error: `getStatus' undeclared (first use this function) artsplayer.cpp:268: error: syntax error before `::' token artsplayer.cpp:269: error: syntax error before `.' token artsplayer.cpp:270: error: syntax error before `.' token artsplayer.cpp:271: error: syntax error before `->' token artsplayer.cpp:276: error: syntax error before `::' token artsplayer.cpp:285: error: syntax error before `::' token artsplayer.cpp:293: error: syntax error before `::' token artsplayer.cpp:301: error: syntax error before `::' token artsplayer.cpp:307: error: ISO C++ forbids declaration of `m_currentPlay' with no type artsplayer.cpp:307: error: redefinition of `int m_currentPlay' artsplayer.cpp:242: error: `int m_currentPlay' previously defined here artsplayer.cpp:308: error: parse error before `}' token artsplayer.cpp: In function `void __static_initialization_and_destruction_0(int, int)': artsplayer.cpp:236: error: storage size of `url' isn't known {standard input}: Assembler messages: {standard input}:21: Error: symbol `status' is already defined {standard input}:50: Error: symbol `m_currentPlay' is already defined {standard input}:56: Error: symbol `m_currentSong' is already defined {standard input}:62: Error: symbol `m_currentPlay' is already defined {standard input}:68: Error: symbol `m_currentSong' is already defined {standard input}:125: Error: symbol `_ZZ8kndDebugvE13m_currentPlay' is already defined make[3]: *** [artsplayer.o] Błąd 1 make[3]: *** Waiting for tasks to finish [i'm translating this from Polish].... make[3]: Leaving directory `/var/tmp/portage/yammi-1.2/work/yammi-1.2/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/yammi-1.2/work/yammi-1.2/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/yammi-1.2/work/yammi-1.2' make: *** [all] Error 2 !!! ERROR: media-sound/yammi-1.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. Reproducible: Always Steps to Reproduce: 1. install kde without arts 2. try to install yammi with USE="-kde -kdeenablefinal" 3. you'll see my error Actual Results: yammi won't compile without arts Expected Results: I think it needs arts support (so ebuild's dependencies should be fixed) or maybe somebody could fix it to work with no need of using arts?
always provide the output of 'emerge info', please
sorry for that, it's here: Portage 2.0.51.19 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20041102-r1, 2.6.11-rc1-vv_e1 i686) ================================================================= System uname: 2.6.11-rc1-vv_e1 i686 AMD Athlon(tm) XP 1600+ Gentoo Base System version 1.6.10 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 14 2005, 22:58:23)] ccache version 2.3 [enabled] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -mmmx -m3dnow -msse -mfpmath=sse -Os -fPIC -fomit-frame-pointer -ftracer -fforce-addr -funroll-loops -ffast-math -s -pipe -DNDEBUG -DG_DISABLE_ASSERT -DG_DISABLE_DEBUG -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -mmmx -m3dnow -msse -mfpmath=sse -Os -fPIC -ftracer -fforce-addr -funroll-loops -ffast-math -s -pipe -DNDEBUG -DG_DISABLE_ASSERT -DG_DISABLE_DEBUG -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig buildpkg ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://gentoo.prz.rzeszow.pl ftp://mirrors.tds.net/gentoo" LANG="pl_PL" LC_ALL="pl_PL" LDFLAGS="-s -z combreloc" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/local-main" SYNC="rsync://rsync3.pl.gentoo.org/gentoo-portage" USE="x86 3dnow X aalib acl acpi alsa avi berkdb bitmap-fonts cdr crypt cups curl directfb emboss encode fam fbcon flac font-server foomaticdb fortran gdbm gif gphoto2 gtk2 imagemagick imlib java jpeg kde kdeenablefinal libg++ libwww mad mmx motif mozilla mp3 mpeg ncurses nls nptl oggvorbis opengl pam pdflib perl pic png python qt quicktime readline samba sdl slang spell sse ssl svga tcltk tcpd theora tiff truetype truetype-fonts type1-fonts unicode videos xml2 xmms xv xvid zlib video_cards_nvidia linguas_pl" Unset: ASFLAGS, CBUILD, CTARGET
Yes, arts is a strict dependency. I changed the ebuild accordingly (in the same way other ebuilds take care of it, such as juk).