After some compiling this happens: 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-tbird -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 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' Reproducible: Always Steps to Reproduce: 1. emerge -u gst-plugins Actual Results: The build fails pretty soon. (Trying to update from gst-plugins-0.6.0-r4) Tried with both gcc 3.2.2 and 3.2.3. All other packages are at most a week or so old. Expected Results: Compile ;') # emerge info Portage 2.0.48_pre6 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1) ================================================================= System uname: 2.4.20-gentoo-r1 i686 AMD Athlon(tm) Processor GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo http://gentoo.oregonstate.edu/ http://www.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /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" 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 apm arts avi crypt cups encode gif jpeg libg++ mikmod mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib gtkhtml gdbm berkdb slang readline tetex bonobo svga tcltk java guile sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gnome gtk motif opengl alsa cdr dga gtk2 -kde -qt mozilla X mmx 3dnow" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=athlon-tbird -O3 -pipe -fforce-addr -fomit-frame-pointer -maccumulate-outgoing-args -fprefetch-loop-arrays -ffast-math -fmerge-all-constants -mmmx -m3dnow" CXXFLAGS="-march=athlon-tbird -O3 -pipe -fforce-addr -fomit-frame-pointer -maccumulate-outgoing-args -fprefetch-loop-arrays -ffast-math -fmerge-all-constants -mmmx -m3dnow" ACCEPT_KEYWORDS="x86 ~x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="sandbox ccache"
does this happen always at the same point ? gstreamer doesn't react very well to optimizations in general.
Just did an 'emerge -u gst-plugins' again to test, and it failed at the exact same place as my two earlier attempts. (row 202 in ..-0.6.1/gst/mpeg1enc/chendct.c) Any ideas what flags I shouldn't use? I'll try a simple "-02 -pipe"
Hmm.. with CFLAGS="-O2 -pipe" the compiling went just fine. Thanks for the hint foser. But still, why is it so sensitive to optimizations? Everything else I've tried has compiled with no problems at all. Can the ebuild limit the allowed flags somehow? Wonder wich one that caused it to fail in the first place
the ebuild already limits useflags heavily and i think that should do in most cases. But such things can be very compiler version dependant. So far i have no other reports, so i think we don't have to cap it even more. Even when it compiles with heavy flags useage it often shows unstable behaviour in the past resulting in a lot of useless bugreports to the gstreamer folks. We just hope that users now are more aware of the fact that optimisations are the first place to look when things go wrong. As to why it is gst that is so sensetive, i'm not sure. I always blame the fact that it's pretty ingenious code pushing the edges of what's possible with maybe a little too few developers to get it rock stable currently. But it's on the right track, seeing from where it started.