id3lib 3.8.3-r1 is required to complete the emerge for Audacity 1.1.3. gcc seg faults while building id3lib. Here is the tail end of the failure text: g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include/id3 -I../include -Wno-deprecated -Wno-deprecated -Wno-deprecated -O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -fomit-frame-pointer -pipe -Wall -Wno-unused -Wno-inline -Woverloaded-virtual -Wmissing-declarations -c c_wrapper.cpp -MT c_wrapper.lo -MD -MP -MF .deps/c_wrapper.TPlo -fPIC -DPIC -o .libs/c_wrapper.lo In file included from ../include/id3/tag.h:33, from c_wrapper.cpp:30: ../include/id3/field.h: In destructor `ID3_Field::~ID3_Field()': ../include/id3/field.h:90: internal error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugs.gentoo.org/> for instructions. g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include/id3 -I../include -Wno-deprecated -Wno-deprecated -Wno-deprecated -O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -fomit-frame-pointer -pipe -Wall -Wno-unused -Wno-inline -Woverloaded-virtual -Wmissing-declarations -c field.cpp -MT field.lo -MD -MP -MF .deps/field.TPlo -fPIC -DPIC -o .libs/field.lo make[2]: *** [c_wrapper.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from field_impl.h:32, from field.cpp:29: ../include/id3/field.h: In destructor `ID3_Field::~ID3_Field()': ../include/id3/field.h:90: internal error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugs.gentoo.org/> for instructions. make[2]: *** [field.lo] Error 1 In file included from field_impl.h:32, from field_binary.cpp:31: ../include/id3/field.h: In destructor `ID3_Field::~ID3_Field()': ../include/id3/field.h:90: internal error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugs.gentoo.org/> for instructions. make[2]: *** [field_binary.lo] Error 1 make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/id3lib-3.8.3-r1/work/id3lib-3.8.3' make: *** [all] Error 2 !!! ERROR: media-libs/id3lib-3.8.3-r1 failed. !!! Function src_compile, Line 392, Exitcode 2 !!! emake failed Reproducible: Always Steps to Reproduce: "emerge audacity" Actual Results: emerge downloaded and built lots of packages. Tried to build id3lib. Failed. Expected Results: Completed without incident. "emerge info" Portage 2.0.49-r21 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r9, 2.4.22-gentoo-r5) ================================================================= System uname: 2.4.22-gentoo-r5 i686 Intel(R) Pentium(R) 4 CPU 2.60GHz Gentoo Base System version 1.4.3.10 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.seren.com/gentoo ftp://mirror.iawnet.sandia.gov/pub/gentoo/ http://cudlug.cudenver.edu/gentoo/ http://mirror.tucdemonic.org/gentoo/" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X alsa apm arts avi berkdb bonobo cdr crypt cups dvdr emacs encode esd foomaticdb gdbm gif gnome gpm gtk gtk2 gtkhtml guile imlib jack java jikes jpeg libg++ libwww mad mikmod mmx motif mozilla mpeg ncurses nls oggvorbis opengl oss pam pda pdflib perl png python quicktime readline scanner sdl slang spell sse ssl tcltk tcpd truetype usb videos x86 xml2 xmms xv zlib video_cards_radeon" This bug seems similar to bug 37974.
You might try removing -fprefetch-loop-arrays which seems to be a finicky optimization flag in many situations. My experience with the varied stability of optimization flags beyond what is added via -O3 leads me to believe that this is your culprit. I've been wrong before. I'll be wrong again.
Sorry, Nick, you were wrong. I ran 'emerge audacity' again today. id3lib built without incident. I did not change any compiler flags. audacity failed to build. Gave me hint: set USE=-gtk2. I tried that, and it failed with a seg fault. I tried it again and it built successfully. I have seen similar behavior with other package builds. Looks like this version of gcc is flaky (version 3.2.3 20030422).
that version of gcc (among other 3.x gcc releases) is flaky with some of the extended optimization flags as I said previously... Nothing is really fixed... nothing has changed... so i'm not wrong yet. :) I am going to change this bug to INVALID as there are no problems with id3lib.