Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 54046 - transcode 0.6.11 does not compile with gcc-3.4
Summary: transcode 0.6.11 does not compile with gcc-3.4
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-06-15 20:07 UTC by Wilbur Pan
Modified: 2004-08-08 19:43 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wilbur Pan 2004-06-15 20:07:10 UTC
With the new release of k3b-0.11.11, transcode needs to drop back to version 0.6.11.  However, this version of transcode sdoes not build with gcc-3.4.0.

I get a lot of undefined reference messages like so:

/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(dsputil_mmx.o)(.text+0x3f4b0):i386/dsputil_mmx.c:1494: undefined reference to `ff_pw_3'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(dsputil_mmx.o)(.text+0x3f4d1):i386/dsputil_mmx.c:1494: undefined reference to `ff_pw_20'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(dsputil_mmx.o)(.text+0x3f500):i386/dsputil_mmx.c:1494: undefined reference to `ff_pw_3'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(dsputil_mmx.o)(.text+0x3f51e):i386/dsputil_mmx.c:1494: undefined reference to `ff_pw_20'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(dsputil_mmx.o)(.text+0x3f54d):i386/dsputil_mmx.c:1494: undefined reference to `ff_pw_3'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(dsputil_mmx.o)(.text+0x3f56e):i386/dsputil_mmx.c:1494: undefined reference to `ff_pw_20'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(dsputil_mmx.o)(.text+0x3f59a):i386/dsputil_mmx.c:1494: undefined reference to `ff_pw_3'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(dsputil_mmx.o)(.text+0x3f5b8):i386/dsputil_mmx.c:1494: undefined reference to `ff_pw_20'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(dsputil_mmx.o)(.text+0x3f5e4):i386/dsputil_mmx.c:1494: undefined reference to `ff_pw_3'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(motion_est_mmx.o)(.text+0xc13): In function `pix_abs8x8_xy2_mmx2':
i386/motion_est_mmx.c:118: undefined reference to `bone'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(motion_est_mmx.o)(.text+0x1023): In function `pix_abs16x16_xy2_mmx2':
i386/motion_est_mmx.c:118: undefined reference to `bone'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(motion_est_mmx.o)(.text+0x10a3):i386/motion_est_mmx.c:118: undefined reference to `bone'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(simple_idct_mmx.o)(.text+0x26): In function `ff_simple_idct_mmx':
i386/simple_idct_mmx.c:212: undefined reference to `wm1010'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(simple_idct_mmx.o)(.text+0x126):i386/simple_idct_mmx.c:212: undefined reference to `d40000'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(simple_idct_mmx.o)(.text+0x1e6a): In function `ff_simple_idct_put_mmx':
i386/simple_idct_mmx.c:212: undefined reference to `wm1010'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(simple_idct_mmx.o)(.text+0x1f66):i386/simple_idct_mmx.c:212: undefined reference to `d40000'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(simple_idct_mmx.o)(.text+0x3c5a): In function `ff_simple_idct_add_mmx':
i386/simple_idct_mmx.c:212: undefined reference to `wm1010'
/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/ffmpeg/libavcodec/libtcavcodec.a(simple_idct_mmx.o)(.text+0x3d56):i386/simple_idct_mmx.c:212: undefined reference to `d40000'
collect2: ld returned 1 exit status
make[3]: *** [tcdecode] Error 1
make[3]: Leaving directory `/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/import'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/import'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11'
make: *** [all] Error 2

!!! ERROR: media-video/transcode-0.6.11 failed.
!!! Function src_compile, Line 122, Exitcode 2
!!! (no error message)

although there are many more of them -- enough to flood my terminal window buffer.


Reproducible: Always
Steps to Reproduce:
1.emerge k3b-0.11.11, which forces transcode to drop to version 0.6.11 from 0.6.12-r1.


Actual Results:  
error message as above. 

Expected Results:  
emerge transcode-0.6.11 and then k3b-0.11.11 

# emerge info 
Portage 2.0.50-r8 (default-x86-1.4, gcc-3.4.0, glibc-2.3.4.20040605-r1, 
2.6.6-mm5) 
================================================================= 
System uname: 2.6.6-mm5 i686 Pentium III (Coppermine) 
Gentoo Base System version 1.4.16 
ccache version 2.3 [enabled] 
Autoconf: sys-devel/autoconf-2.59-r4 
Automake: sys-devel/automake-1.8.5 
ACCEPT_KEYWORDS="x86 ~x86" 
AUTOCLEAN="yes" 
CFLAGS="-march=pentium3 -O2 -mno-align-stringops -minline-all-stringops 
-fno-crossjumping -fmove-all-movables -mno-push-args -fno-delayed-branch 
-fno-thread-jumps -fno-defer-pop -Wall -pipe" 
CHOST="i686-pc-linux-gnu" 
COMPILER="gcc3" 
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" 
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" 
CXXFLAGS="-march=pentium3 -O2 -mno-align-stringops -minline-all-stringops 
-fno-crossjumping -fmove-all-movables -mno-push-args -fno-delayed-branch 
-fno-thread-jumps -fno-defer-pop -Wall -pipe" 
DISTDIR="/usr/portage/distfiles" 
FEATURES="autoaddcvs ccache sandbox" 
GENTOO_MIRRORS="http://128.213.5.34/gentoo/ 
http://open-systems.ufl.edu/mirrors/gentoo 
ftp://ftp.ussg.iu.edu/pub/linux/gentoo 
http://ftp6.uni-erlangen.de/pub/mirrors/gentoo http://gentoo.eliteitminds.com 
ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo http://ftp.heanet.ie/pub/gentoo/ 
http://gentoo.llarian.net/ http://gentoo.binarycompass.org 
http://gentoo.tiscali.nl/gentoo/" 
MAKEOPTS="-j2" 
PKGDIR="/usr/portage/packages" 
PORTAGE_TMPDIR="/home/var/tmp" 
PORTDIR="/usr/portage" 
PORTDIR_OVERLAY="/usr/local/portage" 
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" 
USE="X acpi acpi4linux alsa apm arts avi berkdb bindist bonobo cdr crypt cups 
curl dga dvb dvd encode esd fam foomaticdb gcj gdbm gif gimpprint gpm gtk2 
imap imlib imlib2 ipv6 java javamail jpeg kde ldap libg++ libwww live mad 
mikmod mmx motif mpeg music ncurses nls nptl objc oggvorbis opengl oss pam 
pcmcia pda pdflib perl pic png python qt quicktime rage128 readline samba sdl 
slang slp spell sse ssl svga tcpd tiff truetype usb x86 xml2 xmms xv zlib"
Comment 1 Paul Taylor 2004-06-16 05:18:02 UTC
This compilation also fails for me, but with different error messages:

[snip]
In file included from af6_decore.cpp:39:
/usr/include/avifile-0.7/cpuinfo.h:4:2: warning: #warning Use #include "avm_cpuinfo.h" instead
In file included from af6_decore.cpp:43:
/usr/include/avifile-0.7/creators.h:4:2: warning: #warning Use #include "avm_creators.h" instead
In file included from af6_decore.cpp:38:
/usr/include/avifile-0.7/aviplay.h:15: error: default arguments are only permitted for function parameters
/usr/include/avifile-0.7/aviplay.h:16: error: default arguments are only permitted for function parameters
af6_decore.cpp: In function `void af6_decore(info_t*)':
af6_decore.cpp:402: warning: comparison between signed and unsigned integer expressions
af6_decore.cpp:404: warning: comparison between signed and unsigned integer expressions
af6_decore.cpp:419: warning: comparison between signed and unsigned integer expressions
af6_decore.cpp:421: warning: comparison between signed and unsigned integer expressions
af6_decore.cpp:427: warning: comparison between signed and unsigned integer expressions
make[3]: *** [af6_decore.lo] Error 1
make[3]: Leaving directory `/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/import'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11/import'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/transcode-0.6.11/work/transcode-0.6.11'
make: *** [all] Error 2

!!! ERROR: media-video/transcode-0.6.11 failed.
!!! Function src_compile, Line 122, Exitcode 2
!!! (no error message)



"emerge info" details for comparison:

Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.4.0, glibc-2.3.4.20040605-r1, 2.6.5-gentoo-r1)
=================================================================
System uname: 2.6.5-gentoo-r1 i686 AMD Athlon(tm) XP 1800+
Gentoo Base System version 1.4.16
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu 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.namerica.gentoo.org/gentoo-portage"
USE="3dnow X acpi alsa apache2 apm arts avi berkdb cdr crypt cups dvd encode fbcon foomaticdb freetype gdbm gif gimpprint gpm gps gtk gtk2 imagemagick imlib java jpeg kde libg++ libwww mad mikmod mmx motif mozilla mpeg ncurses nptl oggvorbis opengl pam pdflib perl png ppds python quicktime readline sdk sdl slang snmp spell sse ssl svga tcpd truetype usb x86 xml2 xv zlib"

Comment 2 Joe Kappus 2004-06-16 16:02:24 UTC
I also have the same error as paul..

Portage 2.0.51_pre10 (2004.0, gcc-3.4.0, glibc-2.3.4.20040605-r0, 2.6.7-rc3-love2)
=================================================================
System uname: 2.6.7-rc3-love2 i686 Intel(R) Pentium(R) 4 CPU 1.70GHz
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5
Binutils: sys-devel/binutils-2.14.90.0.8-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=pentium4 -ftracer -mfpmath=sse -ffast-math -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/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=pentium4 -ftracer -mfpmath=sse -ffast-math -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acpi alsa apache2 apm arts avi berkdb cdr crypt cups encode esd fbcon flac foomaticdb gdbm gif gimpprint gpm gtk gtk2 imlib java jpeg kde libg++ libwww mad mikmod mmx motif moznocompose moznoirc mpeg mysql ncurses nls nptl oggvorbis opengl oss pam pdflib perl png python qt quicktime readline samba sdl slang spell sse ssl svga tcpd tiff truetype x86 xml2 xmms xv zlib"
Comment 3 Paul Taylor 2004-06-17 07:23:40 UTC
An update: after reemerging avifile (which was suggested in an earlier transcode bug report), I now get the same ffmpeg-related "undefined reference" errors as 
Wilbur.  Reemerging ffmpeg didn't help; is transcode-0.6.11 dependent on an 
earlier ffmpeg release?

Also, during the configuration process for transcode-0.6.11, it claims that 
I don't have libfame >= 0.9.0, yet I have 0.9.0-r1 installed.  libfame-config 
returns the version as "0.9.0", so I don't understand why this doesn't pass the
test.  Again, reemerging libfame (in case of an installation issue, as suggested
in the configuration message) didn't help.
Comment 4 Aaron Peterson 2004-06-19 16:33:17 UTC
I think the similar errors occur for transcode 0.6.12-r1.. I need to get this working for k3b to upgrade to it's next version.
Comment 5 Disenchanted (RETIRED) gentoo-dev 2004-07-11 17:16:00 UTC
can you please meerge sync, then try to emerge transcode-0.6.12-r1 it should work with gcc 3.4 for quite some time now
Comment 6 Patrick Dawson (RETIRED) gentoo-dev 2004-07-29 00:00:05 UTC
0.6.12 does compile with gcc-3.4, but 0.6.11 is still an issue because the app-cdr/k3b ebuild depends on <0.6.12 for architectures other than amd64. So those of us running gcc-3.4 on x86 can't emerge k3b.
Comment 7 Michael Guterl 2004-07-29 21:58:24 UTC
It compiles on x86 for me if I append the CFLAG -fno-unit-at-a-time.

On another note I saw someone else mentioned that during configure libfame > 0.9.0 returned no, yet /usr/bin/libfame-config --version returns 0.9.0.  Not sure why this is happening, but I'm experiencing it as well.  Should this be opened as a new bug?  if so under transcode or libfame?
Comment 8 spiralvoice 2004-07-31 17:31:27 UTC
Having libfame problem as well: http://bugs.gentoo.org/show_bug.cgi?id=45736
Comment 9 spiralvoice 2004-07-31 18:01:41 UTC
Instead of changing CFLAGS we could use append-flags in the ebuild to add -fno-unit-at-a-time
Comment 10 Michael Guterl 2004-07-31 21:14:21 UTC
Yes I used append-flags -fno-unti-at-a-time in the ebuild, I know there's a way to do something based on the fact that gcc-3.4.x is used, I'm assuming some sort of conditional statement.  I'm just not too familiar with making ebuilds myself.
Comment 11 spiralvoice 2004-08-01 05:17:27 UTC
Try something like this:

        if [ "`gcc-major-version`" -ge "3" -a "`gcc-minor-version`" -ge "4" ]
        then
                append-flags -fno-unit-at-a-time
        fi
Comment 12 Patrick Dawson (RETIRED) gentoo-dev 2004-08-08 19:43:35 UTC
Fix committed. Thanks Michael and spiralvoice!