Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 65170 - transcode has to many bugs open
Summary: transcode has to many bugs open
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-09-24 00:27 UTC by Bret Towe
Modified: 2004-10-28 21:30 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
transcode-0.6.12-r2.ebuild (transcode-0.6.12-r2.ebuild,4.07 KB, text/plain)
2004-09-24 00:37 UTC, Bret Towe
Details
files/transcode-0.6.12-r2-dvdmenu.patch (transcode-0.6.12-r2-dvdmenu.patch,4.73 KB, patch)
2004-09-24 00:39 UTC, Bret Towe
Details | Diff
files/transcode-0.6.12-r2-gcc34.patch (transcode-0.6.12-r2-gcc34.patch,2.89 KB, patch)
2004-09-24 00:39 UTC, Bret Towe
Details | Diff
transcode-0.6.12-r2.ebuild (transcode-0.6.12-r2.ebuild,4.21 KB, text/plain)
2004-09-26 21:55 UTC, Bret Towe
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bret Towe 2004-09-24 00:27:52 UTC
and attached will be a ebuild to fix several of these bugs
Comment 1 Bret Towe 2004-09-24 00:37:36 UTC
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
Comment 2 Bret Towe 2004-09-24 00:39:18 UTC
Created attachment 40275 [details, diff]
files/transcode-0.6.12-r2-dvdmenu.patch

dvdmenu patch needed by ebuild
Comment 3 Bret Towe 2004-09-24 00:39:47 UTC
Created attachment 40276 [details, diff]
files/transcode-0.6.12-r2-gcc34.patch

combined gcc 3.4 patchs
Comment 4 Bret Towe 2004-09-24 00:41:47 UTC
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
Comment 5 Disenchanted (RETIRED) gentoo-dev 2004-09-24 07:20:20 UTC
nice, chriswhite will be quite pleased
Comment 6 Bret Towe 2004-09-26 21:55:33 UTC
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
Comment 7 Disenchanted (RETIRED) gentoo-dev 2004-09-29 18:54:05 UTC
bug #43907, bug #57513, bug #56535, bug #39386 are done

#41219 will be worked on shortly
Comment 8 Guy 2004-10-01 18:44:55 UTC
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.
Comment 9 Andrew Gaydenko 2004-10-07 05:06:11 UTC
I have shown emerging link errors too.
Comment 10 Bret Towe 2004-10-07 08:55:01 UTC
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
Comment 11 Ian Abbott 2004-10-14 04:55:09 UTC
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.)
Comment 12 Ian Abbott 2004-10-14 07:36:18 UTC
> #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.
Comment 13 Ian Abbott 2004-10-14 08:50:42 UTC
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?
Comment 14 Ian Abbott 2004-10-15 09:18:57 UTC
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).
Comment 15 Glenn Morse 2004-10-27 22:14:16 UTC
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.
Comment 16 Bret Towe 2004-10-28 21:30:23 UTC
this was a working bug of sorts so any problems like listed in the last few comments file a new bug report