Hi, I was trying to compile the kde multimedia with gcc 3.1. The system got updated from gcc 3.0.4 to gcc 3.1-r4 yesterday evening CEST (05/26) via emerge system - u and emerge world -u. It did compile the kde base and libs and arts *.1 versions all fine. Here's what happens at kdemulimedia 3.0.1: i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../../../.. -I.. - I/usr/kde/3/include -I/usr/qt/3/include -I/usr/X11R6/include - DQT_THREAD_SUPPORT -D_REENTRANT -DNDEBUG -DNO_DEBUG -O2 -march=athlon -O3 - pipe -fno-exceptions -fno-check-new -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -c libdivxutil_dither_la.all_cpp.cpp -MT libdivxutil_dither_la.all_cpp.lo -MD -MP - MF .deps/libdivxutil_dither_la.all_cpp.TPlo -fPIC -DPIC - o .libs/libdivxutil_dither_la.all_cpp.o In file included from /usr/include/g++-v31/backward/iostream.h:31, from ../../timeStamp.h:18, from ../yuvPicture.h:24, from dither2YUV.h:19, from dither2YUV.cpp:14, from libdivxutil_dither_la.all_cpp.cpp:2: /usr/include/g++-v31/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated. {standard input}: Assembler messages: {standard input}:1891: Error: symbol `rgb2yuv16_422' is already defined {standard input}:2101: Error: symbol `rgb2y_16' is already defined {standard input}:2441: Error: symbol `rgb2yuv16_422' is already defined {standard input}:2664: Error: symbol `rgb2yuv16_422_fast' is already defined {standard input}:2771: Error: symbol `rgb2y_16' is already defined {standard input}:2925: Error: symbol `rgb2y32_fast' is already defined {standard input}:3318: Error: symbol `rgb2yuv24_422' is already defined {standard input}:3459: Error: symbol `rgb2y_24' is already defined {standard input}:3579: Error: symbol `rgb2yuv32_422' is already defined {standard input}:3742: Error: symbol `rgb2y_32' is already defined {standard input}:4011: Error: symbol `rgb2yuv24_422' is already defined {standard input}:4167: Error: symbol `rgb2yuv32_422' is already defined {standard input}:4342: Error: symbol `rgb2y_24' is already defined {standard input}:4429: Error: symbol `rgb2y_32' is already defined make[6]: *** [libdivxutil_dither_la.all_cpp.lo] Error 1 make[6]: Leaving directory `/var/tmp/portage/kdemultimedia- 3.0.1/work/kdemultimedia-3.0.1/mpeglib/lib/util/render/dither2YUV' make[5]: *** [all-recursive] Error 1 make[5]: Leaving directory `/var/tmp/portage/kdemultimedia- 3.0.1/work/kdemultimedia-3.0.1/mpeglib/lib/util/render' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/var/tmp/portage/kdemultimedia- 3.0.1/work/kdemultimedia-3.0.1/mpeglib/lib/util' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/kdemultimedia- 3.0.1/work/kdemultimedia-3.0.1/mpeglib/lib' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/kdemultimedia- 3.0.1/work/kdemultimedia-3.0.1/mpeglib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/kdemultimedia- 3.0.1/work/kdemultimedia-3.0.1' make: *** [all] Error 2 !!! ERROR: The ebuild did not complete successfully. !!! Function kde_src_compile, Line -3694, Exitcode 2 !!! died running emake, kde_src_compile:make !!! emerge aborting on /usr/portage/kde-base/kdemultimedia/kdemultimedia- 3.0.1.ebuild . Uhm, besides, it was first complaining about a missing libstdc++.so.3. I have manually linked libstdc++.so to libstdc++.so.3 in /usr/lib. Probably some little thing that went wrong during the upgrade from gcc 3.0.4 to 3.1. Tried unmerging the divX ebuild, I get the same error with or without it.
Hmmm... On a related note: # emerge kdemultimedia Calculating dependencies ...done! >>> emerge media-video/xanim-2.80.1-r3 to / >>> md5 ;-) xanim2801.tar.gz >>> md5 ;-) xa1.0_cyuv_sparcELF.o.Z >>> md5 ;-) xa2.0_cvid_sparcELF.o.Z >>> md5 ;-) xa2.0_iv32_sparcELF.o.Z >>> md5 ;-) xa1.0_cyuv_linuxPPC.o.Z >>> md5 ;-) xa2.0_cvid_linuxPPC.o.Z >>> md5 ;-) xa2.0_iv32_linuxPPC.o.Z >>> md5 ;-) xa1.0_cyuv_linuxELFg21.o.gz >>> md5 ;-) xa2.0_cvid_linuxELFg21.o.gz >>> md5 ;-) xa2.1_iv32_linuxELFg21.o.gz >>> Unpacking source... >>> Unpacking xanim2801.tar.gz >>> Source unpacked. gcc -I. -march=i686 -O3 -pipe -DXSHM -DXA_DLL -DXA_PRINT -DXA_DLL_PATH=\"/usr/X11R6/lib/xanim/mods\" -DXA_ZLIB -DXA_GSM -DXA_LINUX_AUDIO -DXA_PETUNIA -DXA_KPCD -I/usr/X11R6/include -I/usr/X11R6/include/X11 -c xanim.c gcc -I. -march=i686 -O3 -pipe -DXSHM -DXA_DLL -DXA_PRINT -DXA_DLL_PATH=\"/usr/X11R6/lib/xanim/mods\" -DXA_ZLIB -DXA_GSM -DXA_LINUX_AUDIO -DXA_PETUNIA -DXA_KPCD -I/usr/X11R6/include -I/usr/X11R6/include/X11 -c xa_show.c gcc -I. -march=i686 -O3 -pipe -DXSHM -DXA_DLL -DXA_PRINT -DXA_DLL_PATH=\"/usr/X11R6/lib/xanim/mods\" -DXA_ZLIB -DXA_GSM -DXA_LINUX_AUDIO -DXA_PETUNIA -DXA_KPCD -I/usr/X11R6/include -I/usr/X11R6/include/X11 -c xa_x11.c In file included from xa_x11.c:1434: xa_x11.c: In function `xanim_events': xa_x11.c:1058: incompatible type for argument 0 of `xanim_expose' In file included from xa_x11.c:1474: xa_x11.c:1058: incompatible type for argument 0 of `xanim_expose' In file included from xa_x11.c:1478: xa_x11.c:1081: incompatible type for argument 0 of `xanim_step_prev_action' In file included from xa_x11.c:1481: xa_x11.c:1095: incompatible type for argument 0 of `xanim_step_next_action' In file included from xa_x11.c:1484: xa_x11.c:1321: incompatible type for argument 0 of `xanim_step_prev_int_action' In file included from xa_x11.c:1487: xa_x11.c:1304: incompatible type for argument 0 of `xanim_step_next_int_action' In file included from xa_x11.c:1490: xa_x11.c:1234: incompatible type for argument 0 of `xanim_faster_action' In file included from xa_x11.c:1493: xa_x11.c:1220: incompatible type for argument 0 of `xanim_slower_action' In file included from xa_x11.c:1496: xa_x11.c:1257: incompatible type for argument 0 of `xanim_speed_reset_action' In file included from xa_x11.c:1499: xa_x11.c:1338: incompatible type for argument 0 of `xanim_dec_audio_5' In file included from xa_x11.c:1502: xa_x11.c:1350: incompatible type for argument 0 of `xanim_dec_audio_1' In file included from xa_x11.c:1505: xa_x11.c:1375: incompatible type for argument 0 of `xanim_inc_audio_1' In file included from xa_x11.c:1508: xa_x11.c:1362: incompatible type for argument 0 of `xanim_inc_audio_5' In file included from xa_x11.c:1511: xa_x11.c:1388: incompatible type for argument 0 of `xanim_mute_audio' In file included from xa_x11.c:1514: xa_x11.c:1401: incompatible type for argument 0 of `xanim_speaker_tog' In file included from xa_x11.c:1517: xa_x11.c:1409: incompatible type for argument 0 of `xanim_headphone_tog' In file included from xa_x11.c:1529: xa_x11.c:1032: incompatible type for argument 0 of `xanim_realize_remote' make: *** [xa_x11.o] Error 1 !!! ERROR: the make command did not complete successfully. !!! ("make XA_IV32_LIB=mods/xa1.0_cyuv_linuxELFg21.o XA_CVID_LIB=mods/xa2.0_cvid_linuxELFg21.o XA_CYUV_LIB=mods/xa2.1_iv32_linuxELFg21.o") !!! Since this is a critical task, ebuild will be stopped. !!! emerge aborting on /usr/portage/media-video/xanim/xanim-2.80.1-r3.ebuild . I'm still working on the xanim one
*** Bug 3214 has been marked as a duplicate of this bug. ***
didn't have any problem with xanim, but I had exactly the same problem with kdemultimedia-3.0.1 and gcc 3.1 My solution was to compile the package the default optims flags, those of make.globals (-O2 -mcpu=i686 -pipe). And it worked flawlessly. I'm not sure about xanim in this case. My own investigation led me to suspect something with mpeglib. Here's a comment on this posted by Andreas Simon (yuipx@gmx.net) on gentoo-user: > Yep, this is a known gcc 3.1 bug triggered by mpeglib when using -O3. > There is a reason why CXXFLAGS default to -O2 in /etc/make.conf ;-) > Maybe the kdemultimedia ebuild should do s/-O3/O2/g in CXXFLAGS > when gcc = 3.1. > > Cheers, > Andreas For xanim, my guess would be simply to try to compile it with non-agressive optims flags. Generally I try: "-march=i686 -O3 -fomit-frame-pointer -pipe", then "-march=i686 -O3 -pipe" and then "-mcpu=i686 -O2 -pipe". Never had to try with no optim at all yet ;) Hope it helps. Laurent
I can confirm the problem with the optimation flags. I tried again emerging kdemultimedia3.0.1 this weekend with the -march=athlon -O2 -pipe optimation, and it installed without problem. Maybe this sould be hardcoded into the ebuild for now.
i can confirm this too -- nice bug catch! unless there are objections, I think we should lower the optimization for this ebuild from -O3 to -O2 -- what do you think Dan? Matt
The xanim part of this bug has been fixed in -r4 (by pinning optimizations to -O2).
I can't have an opinion :-), I haven't done any gcc 3.1 testing. So - go ahead and change the ebuild. If possible, limit the change to gcc3 systems (I don't know if there's a standard ebuild check for that).
latest versions on portage fix this.