Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 22249 - gst-plugins compilation failure
Summary: gst-plugins compilation failure
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: Low minor (vote)
Assignee: foser (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-06-05 02:36 UTC by frenchy
Modified: 2003-08-24 09:06 UTC (History)
2 users (show)

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


Attachments
emerge info and compiler errors (output,5.15 KB, text/plain)
2003-06-23 05:23 UTC, Gary
Details
emerge info and compiler errors (output,5.15 KB, text/plain)
2003-06-23 05:24 UTC, Gary
Details

Note You need to log in before you can comment on or make changes to this bug.
Description frenchy 2003-06-05 02:36:01 UTC
When i try to emerge gst-plugins, i get an error with src_compile() function.
Here are my configurations variable :
USE="-arts -alsa imap mbox X gtk2 dvd sdl svga oggvorbis opengl truetype encode
oss gtk acpi sse mmx quicktime"
CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer -fforce-addr
-falign-functions=4 -fprefetch-loop-arrays"

Here is the trace of `emerge gst-plugins` :

Making all in mpeg1enc
make[3]: Entering directory `/var/tmp/portage/gst-plugins-0.6.1/work/gst-plugins
                                                                               
       
-0.6.1/gst/mpeg1enc'
source='chendct.c' object='libgstmpeg1encoder_la-chendct.lo' libtool=yes \
depfile='.deps/libgstmpeg1encoder_la-chendct.Plo' tmpdepfile='.deps/libgstmpeg1e
                                                                               
       
ncoder_la-chendct.TPlo' \
depmode=gcc3 /bin/sh ../../depcomp \
/bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../..    -O3
                                                                               
        
-mcpu=i486 -fschedule-insns2  -funroll-all-loops -finline-functions -ffast-math
                                                                               
        
-DNDEBUG -I../../gst-libs -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pthread -I
                                                                               
       
/usr/include/gstreamer-0.6 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -
                                                                               
       
I/usr/include/libxml2   -DGST_DISABLE_DEPRECATED -g  -march=pentium3 -O2  -pipe
                                                                               
        
-fprefetch-loop-arrays -c -o libgstmpeg1encoder_la-chendct.lo `test -f 'chendct.
                                                                               
       
c' || echo './'`chendct.c
gcc -DHAVE_CONFIG_H -I. -I. -I../.. -O3 -mcpu=i486 -fschedule-insns2 -funroll-al
                                                                               
       
l-loops -finline-functions -ffast-math -DNDEBUG -I../../gst-libs -D_LARGEFILE_SO
                                                                               
       
URCE -D_FILE_OFFSET_BITS=64 -pthread -I/usr/include/gstreamer-0.6 -I/usr/include
                                                                               
       
/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -DGST_DISABLE_DEPRE
                                                                               
       
CATED -g -march=pentium3 -O2 -pipe -fprefetch-loop-arrays -c chendct.c -MT libgs
                                                                               
       
tmpeg1encoder_la-chendct.lo -MD -MP -MF .deps/libgstmpeg1encoder_la-chendct.TPlo
                                                                               
       
  -fPIC -DPIC -o libgstmpeg1encoder_la-chendct.lo
chendct.c: In function `ChenDct':
chendct.c:202: internal error: Floating point exception
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugs.gentoo.org/> for instructions.
make[3]: *** [libgstmpeg1encoder_la-chendct.lo] Error 1
make[3]: Leaving directory `/var/tmp/portage/gst-plugins-0.6.1/work/gst-plugins-
                                                                               
       
0.6.1/gst/mpeg1enc'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/gst-plugins-0.6.1/work/gst-plugins-
                                                                               
       
0.6.1/gst'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/gst-plugins-0.6.1/work/gst-plugins-
                                                                               
       
0.6.1'
make: *** [all] Error 2

!!! ERROR: media-libs/gst-plugins-0.6.1 failed.
!!! Function src_compile, Line 151, Exitcode 2
!!! (no error message)


Reproducible: Always
Steps to Reproduce:
1. emerge gst-plugins
2.
3.

Actual Results:  
!!! ERROR: media-libs/gst-plugins-0.6.1 failed.
!!! Function src_compile, Line 151, Exitcode 2
!!! (no error message)
Comment 1 foser (RETIRED) gentoo-dev 2003-06-09 08:52:15 UTC
give us 'emerge info'  please  and attach the output, not paste . It is unreadable like this. But it looks like a compiler problem, not much we can do about that in general.

Try compiling with less optimizations for a start.
Comment 2 Haroon Rafique 2003-06-11 07:51:28 UTC
As foser said, your cut-and-paste is almost unreadable. However, I can add my own experience to your report. I tried to emerge media-libs/gst-plugins-0.6.2 and met with a similar fate. My original CFLAGS line looked like:

CFLAGS="-march=pentium3 -O3 -pipe -s -fomit-frame-pointer -fforce-addr -falign-functions=4 -fprefetch-loop-arrays -ffast-math"

I tuned that down to:

CFLAGS="-march=pentium3 -O3 -pipe"

and the emerge proceeded without any problems whatsoever. So, it seems like its a compiler problem. Should the ebuild be modified so that it takes out the harmful CFLAGS until the upstream source is fixed? Just an idea!!

Here's my emerge --info output:
Portage 2.0.48-r1 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1)
=================================================================
System uname: 2.4.20-ck6 i686 Intel(R) Pentium(R) 4 CPU 1.80GHz
GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /var/bind /usr/X11R6/lib/X11/xkb /opt/tomcat/conf /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY="/usr/portage.local"
USE="x86 oss 3dnow apm avi crypt cups encode gif jpeg libg++ mikmod mmx mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib gtkhtml alsa gdbm berkdb slang readline arts tetex bonobo svga tcltk java guile mysql postgres X sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gnome gtk qt kde motif opengl mozilla cdr apache2 gtk2 jikes junit mbox"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O3 -pipe -s -fomit-frame-pointer -fforce-addr -falign-functions=4 -fprefetch-loop-arrays -ffast-math"
CXXFLAGS="-march=pentium3 -O3 -pipe -s -fomit-frame-pointer -fforce-addr -falign-functions=4 -fprefetch-loop-arrays -ffast-math"
ACCEPT_KEYWORDS="x86 ~x86"
MAKEOPTS="-j2"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="ccache sandbox userpriv usersandbox"
Comment 3 Haroon Rafique 2003-06-11 07:56:23 UTC
Not to harp on it any further, but my experience in comment 2, is identical to bug 21262 comment 3.
Comment 4 Haroon Rafique 2003-06-11 08:13:35 UTC
I have found the offending CFLAG. It is:

-fprefetch-loop-arrays

Perhaps the ebuild should have a line like:

filter-flags "-fprefetch-loop-arrays"
Comment 5 foser (RETIRED) gentoo-dev 2003-06-11 09:08:41 UTC
well it already strips a lot of flags, extra cflags are really the users own responsibility . Really comes down to the same things i said in #21262
Comment 6 Dietrich Heise 2003-06-13 02:49:11 UTC
I have the same error than in #21262:

/bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../..    -O3 -mcpu=i486 -fschedule-insns2  -funroll-all-loops -finline-functions -ffast-math -DNDEBUG -I../../gst-libs -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pthread -I/usr/include/gstreamer-0.6 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2   -DGST_DISABLE_DEPRECATED -g  -march=athlon-xp -O2  -pipe -fprefetch-loop-arrays -c -o libgstmpeg1encoder_la-chendct.lo `test -f 'chendct.c' || echo './'`chendct.c
gcc -DHAVE_CONFIG_H -I. -I. -I../.. -O3 -mcpu=i486 -fschedule-insns2 -funroll-all-loops -finline-functions -ffast-math -DNDEBUG -I../../gst-libs -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pthread -I/usr/include/gstreamer-0.6 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -DGST_DISABLE_DEPRECATED -g -march=athlon-xp -O2 -pipe -fprefetch-loop-arrays -c chendct.c -MT libgstmpeg1encoder_la-chendct.lo -MD -MP -MF .deps/libgstmpeg1encoder_la-chendct.TPlo  -fPIC -DPIC -o libgstmpeg1encoder_la-chendct.lo
chendct.c: In function `ChenDct':
chendct.c:202: internal error: Floating point exception
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugs.gentoo.org/> for instructions.
make[3]: *** [libgstmpeg1encoder_la-chendct.lo] Error 1
make[3]: Leaving directory `/var/tmp/portage/gst-plugins-0.6.2/work/gst-plugins-0.6.2/gst/mpeg1enc'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/gst-plugins-0.6.2/work/gst-plugins-0.6.2/gst'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/gst-plugins-0.6.2/work/gst-plugins-0.6.2'
make: *** [all] Error 2

!!! ERROR: media-libs/gst-plugins-0.6.2 failed.
!!! Function src_compile, Line 150, Exitcode 2
!!! (no error message)

emerge info
Portage 2.0.48-r1 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1)
=================================================================
System uname: 2.4.20 i686 AMD Athlon(tm) XP 1800+
GENTOO_MIRRORS=" http://ftp.easynet.nl/mirror/gentoo// ftp://ftp.easynet.nl/mirror/gentoo// http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /var/bind /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config /opt/quake3/cpma/server.cfg"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY=""
USE="x86 oss 3dnow apm avi crypt cups encode gif jpeg libg++ mikmod mmx mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib gtkhtml alsa gdbm berkdb slang readline arts tetex aalib bonobo svga tcltk guile ruby mysql X sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gnome gtk qt kde opengl mozilla gphoto2 cdr -snmp apache2 gd gpg ncures ogg vorbis -java -motif"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays"
CXXFLAGS="-march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays"
ACCEPT_KEYWORDS="x86 ~x86"
MAKEOPTS="-j2"
AUTOCLEAN="yes"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage/"
FEATURES="sandbox ccache"
Comment 7 Haroon Rafique 2003-06-13 06:29:53 UTC
Dietrich,

As foser and myself have already commented in this bug report, you should try and compile with less optimizations. In my case taking out -fprefetch-loop-arrays from CFLAGS in /etc/make.conf made it possible for me to compile without any problems. Please try that.
Comment 8 Sam Ottenhoff 2003-06-13 08:41:22 UTC
I also had trouble compiling gst-plugins.  I reduced my CFLAGS to just "-O2 -pipe" like suggested but still had trouble.  This thread solved it for me:

http://forums.gentoo.org/viewtopic.php?p=366059

I had a stage 3.  emerge avifile failed.  emerge gcc to get an i686 gcc.

then emerge gst-plugins failed.  it seems that it was looking for an i586 gcc.

I symlinked the i686 gcc directory to the i586 directory and compile worked.
Comment 9 foser (RETIRED) gentoo-dev 2003-06-14 04:42:49 UTC
that isn't a gst-plugins problem, but compiler tools problem in general. anyway, read the bug, we know what is wrong here. If you have another problem, open another bug please.
Comment 10 Andrei Ivanov 2003-06-18 02:19:46 UTC
People... I think I have found the problem. 
My flags are: 
 
CFLAGS="-march=athlon -O3 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -ffa 
st-math -fforce-addr -falign-functions=4" 
 
But look at this: 
gcc -DHAVE_CONFIG_H -I. -I. -I../.. -O3 -mcpu=i486 -fschedule-insns2 ... 
 
Why is "-mcpu=i486" doing there ? 
I modified the Makefile and put -march=athlon, and it worked. It seems the CFLAGS 
are modified for some directories, and -mcpu=i486 is used. 
 
This happens in: 
gst-plugins-0.6.2/gst-libs/gst/resample 
gst-plugins-0.6.2/gst/mpeg1enc 
 
Anybody knows why ? 
Comment 11 foser (RETIRED) gentoo-dev 2003-06-18 04:41:46 UTC
hmm so with another arch set there _and_ -fprefetch-loop-arrays it does work you say (?) Doesn't make much sense, cause an athlon is still an 486 superset.

I just assume the gstreamer guys did this with a reason, but i'll ask them to make sure.
Comment 12 Gary 2003-06-23 05:21:03 UTC
I just wanted to let you know that I have the same problem with -mcpu=i486 being added.  It happens in the middle of the compile.  I have a P4.  I will attach an emerge info and the compile output in case you wanted it.   Please let me know if you want any additional details.

Comment 13 Gary 2003-06-23 05:23:57 UTC
Created attachment 13723 [details]
emerge info and compiler errors
Comment 14 Gary 2003-06-23 05:24:11 UTC
Created attachment 13724 [details]
emerge info and compiler errors
Comment 15 Haroon Rafique 2003-06-23 06:43:24 UTC
Gary,

As mentioned in comment 4 and comment 7, please take out some of the optimizations from your CFLAGS/CXXFLAGS. Taking out -fprefetch-loop-arrays will help in the compilation. If that doesn't help, then report back, please.
Comment 16 Andrei Ivanov 2003-06-23 06:49:13 UTC
Wouldn't be better to fix the makefile ? Have you read comment #10 ?
Comment 17 Haroon Rafique 2003-06-23 06:55:38 UTC
I hear ya shadow. I'm just a bug reporter so I will defer to foser.
Comment 18 Mike Gardiner (RETIRED) gentoo-dev 2003-06-24 21:26:32 UTC
a fix has made it's way into gst-plugins-0.6.2-r5 with relation to this bug, i've tested it with the more aggressive CFLAGS options found in the emerge info provided to this bug, with no problems, and it compiled as expected. could those who were having troubles report success with this fixed ebuild please.

foser/liquidx this bug is marked as critical, if success is reported can you consider a close, as the outstanding problem here is the -fprefetch-loop-arrays compiler option, which appears to have been fixed. new problems should possibly go in a new bug. thanks.
Comment 19 foser (RETIRED) gentoo-dev 2003-06-25 04:20:00 UTC
r5 is experimental eclass stuff, needs some more work to get that right and get it in.

But i don't consider this critical btw afaic it's an optimizations problem, as said it is up to the user when they go beyond suggested defaults. I need to discuss parts of this with the gstreamer people.
Comment 20 foser (RETIRED) gentoo-dev 2003-08-10 17:38:40 UTC
i will have a look at this later when i have time.. for now i consider this an overoptimizations problem on the user side
Comment 21 Andrei Ivanov 2003-08-10 23:28:14 UTC
bleah
Comment 22 Josh Chaney 2003-08-17 17:39:38 UTC
I am running into the same problem. I am running an Athlon XP 1800+ with the Gentoo 1.4 Final Athlon XP CD's.. I made no changes to my CFLAGS or anything in /etc/make.conf .

emerge info
Portage 2.0.48-r5 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1)

gcc -DHAVE_CONFIG_H -I. -I. -I../.. -O3 -mcpu=i486 -fschedule-insns2 -funroll-al
l-loops -finline-functions -ffast-math -DNDEBUG -I../../gst-libs -D_LARGEFILE_SO
URCE -D_FILE_OFFSET_BITS=64 -pthread -I/usr/include/gstreamer-0.6 -I/usr/include
/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -DGST_DISABLE_DEPRE
CATED -g -O2 -march=athlon-xp -fprefetch-loop-arrays -pipe -c chendct.c -MT libg
stmpeg1encoder_la-chendct.lo -MD -MP -MF .deps/libgstmpeg1encoder_la-chendct.TPl
o  -fPIC -DPIC -o libgstmpeg1encoder_la-chendct.lo
chendct.c: In function `ChenDct':
chendct.c:202: internal error: Floating point exception
Please submit a full bug report,
Comment 23 foser (RETIRED) gentoo-dev 2003-08-18 05:12:59 UTC
well the -mcpu=i486 seems to be the problem and has no use according to the gstreamer team. But it needs some work on the actual makefiles to strip that.
Comment 24 SpanKY gentoo-dev 2003-08-21 17:27:11 UTC
foser is correct, review http://bugs.gentoo.org/show_bug.cgi?id=25461#c6 ... 
 
the answer is to filter out the mcpu stuff the package puts in ... 
Comment 25 foser (RETIRED) gentoo-dev 2003-08-24 09:06:10 UTC
ok added a patch to strip the -mcpu=i486 flag. Think that should take care of this.

Please test gst-plugins-0.6.2-r1