Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 30610

Summary: gst-plugins fails to compile with asm problem (can't find BREG register)
Product: Gentoo Linux Reporter: Target <target>
Component: Current packagesAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED NEEDINFO    
Severity: major CC: sound
Priority: Normal    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Target 2003-10-07 16:48:46 UTC
Compiling gst-plugins, a ffmpeg libavcodec component fails even with conservative optimizations ("-march=i686 -O2") on an AMD Duron (Spitfire core). I even manually removed -fPIC from the ebuild (it adds -fPIC to CFLAGS), to no avail.
Compiler: GCC 3.2.3-r1
File: "gst-plugins-0.6.3/gst-libs/ext/ffmpeg/ffmpeg/libavcodec/msmpeg4.c"

I had a little bit of time to skim over the code, but it wasn't enough to find a way to fix it. The code looks very brittle, and is riddled with little careless mistakes like the non-fatal warnings in the output snippet below.

This is a larger problem because it blocks Gnome 2.4.0 from emerging.

Chunk of compile output:

ac3enc.c: In function `AC3_encode_close':
ac3enc.c:1455: warning: control reaches end of non-void function
gcc -march=i686 -O2 -Wall -g -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o mjpeg.o mjpeg.c
gcc -march=i686 -O2 -Wall -g -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o resample.o resample.c
gcc -march=i686 -O2 -Wall -g -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o dsputil.o dsputil.c
gcc -march=i686 -O2 -Wall -g -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o motion_est.o motion_est.c
motion_est.c:45: warning: `pix_dev' defined but not used
gcc -march=i686 -O2 -Wall -g -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o imgconvert.o imgconvert.c
gcc -march=i686 -O2 -Wall -g -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o imgresample.o imgresample.c
gcc -march=i686 -O2 -Wall -g -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o msmpeg4.o msmpeg4.c
msmpeg4.c: In function `msmpeg4_pred_dc':
msmpeg4.c:705: can't find a register in class `BREG' while reloading `asm'
Comment 1 foser (RETIRED) gentoo-dev 2003-10-08 07:59:58 UTC
your 'emerge info' please ?
Comment 2 foser (RETIRED) gentoo-dev 2003-10-12 10:58:09 UTC
info req