Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 119014 - xine-lib-1.1.1-r3 fails with compiler error in h263.cc : mpeg4_decode_partition_a
Summary: xine-lib-1.1.1-r3 fails with compiler error in h263.cc : mpeg4_decode_partiti...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Diego Elio Pettenò (RETIRED)
URL:
Whiteboard:
Keywords:
: 128767 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-01-14 11:49 UTC by Daniel Armyr
Modified: 2006-07-28 00:01 UTC (History)
4 users (show)

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


Attachments
patch to move functions up in source code body. (h263.c.patch,40.52 KB, patch)
2006-04-04 09:54 UTC, Aakash
Details | Diff
fixes for several static inline function calls - just moved them up before they are called. (mpeg12.c.patch,66.74 KB, patch)
2006-04-04 11:05 UTC, Aakash
Details | Diff
fix to move one static inline function up before it is called. (msmpeg4.c.patch,12.49 KB, patch)
2006-04-04 11:07 UTC, Aakash
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Armyr 2006-01-14 11:49:45 UTC
In the process of an "emerge -uD world" the above package failed in the mentioned function. As a part of this upgrade, I have gone from gxx-3.3.6 to gcc-3.4.4 in accordance with the official upgrading documentation on the gentoo website. The details were:

 i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../.. -I../../../include -I../../../include -I../../../src -I../../../src/xine-engine -I../../../src/xine-engine -I../../../src/xine-utils -I../../../src/input -I../../../src/input -I../../../lib -I../../../src/libffmpeg/libavutil -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -DCONFIG_GPL -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -DENABLE_IPV6 -march=athlon -O1 -pipe -fomit-frame-pointer -frename-registers -ffunction-sections -mno-sse -fomit-frame-pointer -c h263.c  -fPIC -DPIC -o .libs/h263.o
h263.c: In function `mpeg4_decode_partition_a':
h263.c:69: sorry, unimplemented: inlining failed in call to 'mpeg4_decode_dc': function body not available
h263.c:3445: sorry, unimplemented: called from here
make[5]: *** [h263.lo] Error 1
make[5]: Leaving directory `/var/tmp/portage/xine-lib-1.1.1-r3/work/xine-lib-1.1.1/src/libffmpeg/libavcodec'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/var/tmp/portage/xine-lib-1.1.1-r3/work/xine-lib-1.1.1/src/libffmpeg/libavcodec'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/xine-lib-1.1.1-r3/work/xine-lib-1.1.1/src/libffmpeg'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/xine-lib-1.1.1-r3/work/xine-lib-1.1.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/xine-lib-1.1.1-r3/work/xine-lib-1.1.1'
make: *** [all] Error 2

!!! ERROR: media-libs/xine-lib-1.1.1-r3 failed.
!!! Function src_compile, Line 229, Exitcode 2
!!! emake failed
!!! If you need support, post the topmost build error, NOT this status message.



My emerge info:
Portage 2.0.53 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r2, 2.6.11.2 i686)
=================================================================
System uname: 2.6.11.2 i686 AMD-K7(tm) Processor
Gentoo Base System version 1.6.13
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [disabled]
dev-lang/python:     2.2.2, 2.3.5, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.4.3-r4, 1.5.22
virtual/os-headers:  2.4.19, 2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon -O1 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon -O1 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict userpriv usersandbox"
GENTOO_MIRRORS="http://ftp.easynet.nl/mirror/gentoo/ http://gentoo.linux.no/ http://trumpetti.atm.tut.fi/gentoo/"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 3dnow X Xaw3d aac acpi acpi4linux alsa apache2 apm audiofile avi berkdb bitmap-fonts bzip2 cdr crypt cups curl eds emacs emboss encode esd ethereal expat fam flac fortran freetype gd gdbm gif glut gpm gstreamer gtk gtk2 imagemagick imap imlib ipv6 jpeg lcms libg++ libwww mad mhash mikmod mms mmx mng mozilla mp3 mpeg mysql ncurses nls ogg oggvorbis opengl oss pam pcre pdflib perl png python qt quicktime readline samba sasl sdl slang spell sqlite sse ssl tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts udev unicode usb vorbis xine xml xml2 xmms xv xvid zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-01-14 11:58:28 UTC
Uh...

> sys-devel/libtool:   1.4.3-r4, 1.5.22
> virtual/os-headers:  2.4.19, 2.6.11-r2

emerge -C =sys-kernel/linux-headers-2.4.19 =sys-devel/libtool-1.4.3-r4; emerge sys-kernel/linux-headers sys-devel/libtool

Reopen if the above does not fix the issue.
Comment 2 Daniel Armyr 2006-01-15 07:34:36 UTC
Sorry. I followed the recommended course of action, but got an, as far as I can see, identical error:

 i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../.. -I../../../                include -I../../../include -I../../../src -I../../../src/xine-engine -I../../../                src/xine-engine -I../../../src/xine-utils -I../../../src/input -I../../../src/in                put -I../../../lib -I../../../src/libffmpeg/libavutil -DSIMPLE_IDCT -DHAVE_AV_CO                NFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DX                INE_MPEG_ENCODER -DCONFIG_ZLIB -DCONFIG_GPL -DNDEBUG -D_REENTRANT -D_FILE_OFFSET                _BITS=64 -DXINE_COMPILE -DENABLE_IPV6 -march=athlon -O1 -pipe -fomit-frame-point                er -frename-registers -ffunction-sections -mno-sse -fomit-frame-pointer -c h263.                c  -fPIC -DPIC -o .libs/h263.o
h263.c: In function `mpeg4_decode_partition_a':
h263.c:69: sorry, unimplemented: inlining failed in call to 'mpeg4_decode_dc': f                unction body not available
h263.c:3445: sorry, unimplemented: called from here
make[5]: *** [h263.lo] Error 1
make[5]: Leaving directory `/var/tmp/portage/xine-lib-1.1.1-r3/work/xine-lib-1.1                .1/src/libffmpeg/libavcodec'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/var/tmp/portage/xine-lib-1.1.1-r3/work/xine-lib-1.1                .1/src/libffmpeg/libavcodec'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/xine-lib-1.1.1-r3/work/xine-lib-1.1                .1/src/libffmpeg'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/xine-lib-1.1.1-r3/work/xine-lib-1.1                .1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/xine-lib-1.1.1-r3/work/xine-lib-1.1                .1'
make: *** [all] Error 2

!!! ERROR: media-libs/xine-lib-1.1.1-r3 failed.
!!! Function src_compile, Line 229, Exitcode 2
!!! emake failed
!!! If you need support, post the topmost build error, NOT this status message.
Comment 3 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-01-15 07:45:07 UTC
Luca that's ffmpeg's code, and I can't see anything wrong with it, can you take a look?
Comment 4 Chance Platt 2006-01-30 00:08:48 UTC
I'm getting this exact same build failure on sparc64.  Interestingly, it compiles fine with the default CFLAGS setting most everyone uses on this arch -- "-O2 -mcpu=ultrapsarc -pipe" -- but change "mcpu" to "mtune", and it fails with the original poster's compile failure.  I'm running gcc-3.4.5.
Comment 5 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-03-28 14:17:09 UTC
Can you try with 1.1.2_pre20060329 ?
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2006-04-04 06:53:05 UTC
*** Bug 128767 has been marked as a duplicate of this bug. ***
Comment 7 Aakash 2006-04-04 09:54:51 UTC
Created attachment 83898 [details, diff]
patch to move functions up in source code body.
Comment 8 Aakash 2006-04-04 09:56:02 UTC
Same issue occurs with xine-lib-1.1.1-r5 and amd64. I've added a patch that seemed to fix this issue for me.
Comment 9 Aakash 2006-04-04 11:05:42 UTC
Created attachment 83901 [details, diff]
fixes for several static inline function calls - just moved them up before they are called.
Comment 10 Aakash 2006-04-04 11:07:02 UTC
Created attachment 83902 [details, diff]
fix to move one static inline function  up before it is called.
Comment 11 Aakash 2006-04-04 11:07:34 UTC
The same issue occurs for several static inline functions in mpeg12 and one in msmpeg4. The patches that seem to work for me are attached - NOTE: I have not QAed (beyond that of compilation) any of the patches that I am submitting.
Comment 12 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-06-01 16:53:33 UTC
Is this still an issue with 1.1.2_pre20060328-r9 ?
Comment 13 Paul Worrall 2006-07-07 12:17:09 UTC
(In reply to comment #12)
> Is this still an issue with 1.1.2_pre20060328-r9 ?
> 

I get what looks like pretty much the same (though not identical) failure with 1.1.2_pre20060328-r9:

i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../.. -I../../../include -I../../../include -I../../../src -I../../../src/xine-engine -I../../../src/xine-engine -I../../../src/xine-utils  -I../../../src/input -I../../../src/input  -I../../../lib  -I../../../src/libffmpeg/libavutil  -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -DCONFIG_GPL `test "-DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE  -DENABLE_IPV6 -march=athlon-xp -pipe -O1 -frename-registers -ffunction-sections" = "-D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -g -DDEBUG -DENABLE_IPV6 -march=athlon-xp -pipe -O1 -frename-registers -ffunction-sections" && echo -DCONFIG_ENCODERS` -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE  -DENABLE_IPV6 -march=athlon-xp -pipe -O1 -frename-registers -ffunction-sections -c -o h263dec.lo `test -f 'h263dec.c' || echo './'`h263dec.c
h263.c: In function `mpeg4_decode_partition_a':
h263.c:69: sorry, unimplemented: inlining failed in call to 'mpeg4_decode_dc': function body not available
h263.c:3447: sorry, unimplemented: called from here
make[5]: *** [h263.lo] Error 1
make[5]: *** Waiting for unfinished jobs....
 i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../.. -I../../../include -I../../../include -I../../../src -I../../../src/xine-engine -I../../../src/xine-engine -I../../../src/xine-utils -I../../../src/input -I../../../src/input -I../../../lib -I../../../src/libffmpeg/libavutil -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -DCONFIG_GPL -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -DENABLE_IPV6 -march=athlon-xp -pipe -O1 -frename-registers -ffunction-sections -c h263dec.c  -fPIC -DPIC -o .libs/h263dec.o
make[5]: Leaving directory `/var/tmp/portage/xine-lib-1.1.2_pre20060328-r9/work/xine-lib-1.1.2cvs/src/libffmpeg/libavcodec'
make[4]: *** [all-recursive] Error 1

etc. etc.
Comment 14 Paul Worrall 2006-07-09 15:21:52 UTC
The failure I reported in comment #13 occurs with CFLAGS="-march=athlon-xp -pipe -O1" but does not occur with CFLAGS="-march=athlon-xp -pipe -O2"
Comment 15 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-07-28 00:01:51 UTC
Fixed in the hard way, external ffmpeg is always used now.