and attached will be a ebuild to fix several of these bugs
Created attachment 40274 [details] transcode-0.6.12-r2.ebuild short changelog for this: include pvm support as per bug #39386 add libexif dep bug #43907 include dvdmenu patch from bug #57513 combine gcc 3.4 patchs into one file since i was at it got a massive ebuild clean up thanks to Mr_Bones_ added comments here and there added gocr to RDEPEND as per bug #56535 small dep and no clue on what use flag would work so i just added it for now as subtitles are already on and this i assume is needed for that upped version on ffmpeg and mjpegtools to vers that have gcc 3.4 fixes also added mmx to iuse and to use_enable as there are comments on it yet isnt there to enable
Created attachment 40275 [details, diff] files/transcode-0.6.12-r2-dvdmenu.patch dvdmenu patch needed by ebuild
Created attachment 40276 [details, diff] files/transcode-0.6.12-r2-gcc34.patch combined gcc 3.4 patchs
ill get to bug #41219 (USE=static problems) hopefully tomorrow couple other items for changelog i changed the epatch path to ${PF} from ${P} due to the gcc 3.4 combined patch item and i removed eutils from inherit since another eclass was including it already
nice, chriswhite will be quite pleased
Created attachment 40513 [details] transcode-0.6.12-r2.ebuild updated deps on avifile and libfame to versions that work under gcc3.4 removed -j1 from emake still works but prob needs testing on a dual or quad system to see if it can live (no comment on why its even there) also added a configure flag i found lookign for USE=static stuff that should speed up 'one time compiles' as it puts it added USE=static flag but doesnt work correctly not sure what else is needed moved the CFLAGS bit that was part of econf to a append-flag setup
bug #43907, bug #57513, bug #56535, bug #39386 are done #41219 will be worked on shortly
As a point of reference - I received the following emerge errors: /bin/sh ../libtool --mode=link gcc -D_REENTRANT -funroll-loops -ffast-math -Wall -DMOD_PATH=\"/usr/lib/transcode\" -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fomit-frame-pointer -O3 -march=athlon-xp -O3 -fomit-frame-pointer -pipe -DDCT_YUV_PRECISION=1 -g -o tcxmlcheck tcxmlcheck.o probe_xml.o ioxml.o ioaux.o fileinfo.o scan_dv.o -L/usr/lib -lxml2 -lz -lpthread -lm -L/usr/lib -ldv -lpthread -ldl -L/usr/lib -lglib -ldl -lm -lm-lpthread -ldl /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/libtcavcodec.a(utils.o)(.text+0xc8b): In function `avcodec_encode_video': /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/utils.c:430: undefined reference to `mm_flags' /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/libtcavcodec.a(utils.o)(.text+0xcda): In function `avcodec_decode_video': /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/utils.c:454: undefined reference to `mm_flags' /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/libtcavcodec.a(mpegvideo.o)(.text+0x476): In function `DCT_common_init': /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/mpegvideo.c:216: undefined reference to `MPV_common_init_mmx' /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/libtcavcodec.a(mpegvideo.o)(.text+0x2cb6): In function `MPV_frame_end': /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/mpegvideo.c:1228: undefined reference to `mm_flags' /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/libtcavcodec.a(mpegvideo.o)(.text+0x8857): In function `ff_draw_horiz_band': /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/mpegvideo.c:3069: undefined reference to `mm_flags' /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/libtcavcodec.a(mpegvideo.o)(.text+0xb85b): In function `MPV_encode_picture': /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/mpegvideo.c:3713: undefined reference to `mm_flags' /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/libtcavcodec.a(mpegvideo.o)(.text+0xce23):/var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/mpegvideo.c:4249: undefined reference to `mm_flags' /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/libtcavcodec.a(mpegvideo.o)(.text+0xcf17):/var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/mpegvideo.c:1228: undefined reference to `mm_flags' /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/libtcavcodec.a(mpegvideo.o)(.text+0xe291):/var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/mpegvideo.c:1642: more undefined references to `mm_flags' follow /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/libtcavcodec.a(dsputil.o)(.text+0x1e679): In function `dsputil_init': /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/dsputil.c:3125: undefined reference to `dsputil_init_mmx' /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/libtcavcodec.a(mpeg12.o)(.text+0x7a8e): In function `mpeg_decode_frame': /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/mpeg12.c:2628: undefined reference to `mm_flags' /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/libtcavcodec.a(mpeg12.o)(.text+0x96b9): In function `decode_frame': /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/mdec.c:217: undefined reference to `mm_flags' /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/libtcavcodec.a(ratecontrol.o)(.text+0xb2): In function `ff_rate_control_uninit': /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/ratecontrol.c:179: undefined reference to `mm_flags' /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/libtcavcodec.a(ratecontrol.o)(.text+0xd59): In function `ff_rate_estimate_qscale': /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/ratecontrol.c:573: undefined reference to `mm_flags' /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/libtcavcodec.a(ratecontrol.o)(.text+0x1ccc): In function `ff_rate_control_init': /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/ratecontrol.c:51: undefined reference to `mm_flags' /var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/libtcavcodec.a(dv.o)(.text+0x10e6):/var/tmp/portage/transcode-0.6.12-r2/work/transcode-0.6.12/ffmpeg/libavcodec/dv.c:962: more undefined references to `mm_flags' follow collect2: ld returned 1 exit status make[3]: *** [tcdecode] Error 1 Portage 2.0.51_rc7 (default-x86-2004.2, gcc-3.4.2, glibc-2.3.4.20040808-r0, 2.6.9-rc2 i686) ================================================================= System uname: 2.6.9-rc2 i686 AMD Athlon(tm) Gentoo Base System version 1.5.3 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.90.0.1.1-r3 Headers: sys-kernel/linux-headers-2.4.22 Libtools: sys-devel/libtool-1.5.2-r5 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache distlocks sandbox" GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X apm arts avi berkdb bitmap-fonts crypt cups encode foomaticdb gdbm gif gnome gpm gtk gtk2 imlib ipv6 jpeg kde libg++ libwww mad mikmod motif mpegncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl slang spell ssl svga tcpd truetype x86 xml2 xmms xprint xv zlib" I'm Not A Programmer - so I can't really say what's wrong. I did set USE="-doc" but had the same errors. BTW - I sincerely appreciate all of your efforts. :-) I _love_ Gentoo.
I have shown emerging link errors too.
for those having linking errors that just upgraded to gcc 3.4 make sure you remerge if nothing else just transcodes depends if you have to (which you should with any major gcc upgrade) do emerge -e world and with out proper info i wont bother trying to fix any bugs if the user doesnt add hiself to CC as the bugs i could reproduce ive already fixed pvm for amd64 hopefully is forth coming
In ffmpeg/libavcodec/common.h there is the following code: #ifdef HAVE_AV_CONFIG_H /* only include the following when compiling package */ # include "config.h" Perhaps that be #ifndef HAVE_AV_CONFIG_H? I don't know the code like the maintainers do, but it seems strange that av_config.h goes to all the trouble of undefining HAVE_MMX only for it to be defined again by the above #include "config.h". (There is no multiple inclusion protection within config.h.)
> #ifdef HAVE_AV_CONFIG_H > /* only include the following when compiling package */ > # include "config.h" > > Perhaps that be #ifndef HAVE_AV_CONFIG_H? ^should I tried changing the #ifdef to #ifndef to see if it would work, but it just produced other compiler errors.
The linking problems occur if HAVE_MMX is defined in the config.h file and the "mmx" USE flag is not set. Should that be filed as a new bug?
I can think of two alternative patches to fix the mmx linking problem: 1. Patch config.h.in to guard against multple inclusion (the transcode-0.6.11-no-mmx patch does that for transcode-0.6.11). 2. Patch ffmpeg/libavcodec/common.h to include ../av_config.h instead of config.h (this seemed to work fine when I tried it).
How exactly did you change the ebuild to change the ffmpeg/libavcodec file to make this emerge properly? I'm getting the same error as Guy is.
this was a working bug of sorts so any problems like listed in the last few comments file a new bug report