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)
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.
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"
Not to harp on it any further, but my experience in comment 2, is identical to bug 21262 comment 3.
I have found the offending CFLAG. It is: -fprefetch-loop-arrays Perhaps the ebuild should have a line like: filter-flags "-fprefetch-loop-arrays"
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
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"
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.
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.
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.
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 ?
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.
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.
Created attachment 13723 [details] emerge info and compiler errors
Created attachment 13724 [details] emerge info and compiler errors
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.
Wouldn't be better to fix the makefile ? Have you read comment #10 ?
I hear ya shadow. I'm just a bug reporter so I will defer to foser.
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.
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.
i will have a look at this later when i have time.. for now i consider this an overoptimizations problem on the user side
bleah
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,
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.
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 ...
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