Firefox 10.0.3 fails to build for me with: ./firefox-10.0.3/work/mozilla-esr10/gfx/angle/src/compiler/Types.h error: 'abort' was not declared in this scope With attached patch it builds and runs. Reproducible: Always Steps to Reproduce: 1.ACCEPT_KEYWORDS=~amd64 emerge -av firefox 2. 3. Actual Results: get build error about halfway through Expected Results: build Firefox this patch fixes error: --- ./firefox-10.0.3/work/mozilla-esr10/gfx/angle/src/compiler/Types.h.orig 2012-04-06 18:09:08.000000000 -0700 +++ ./firefox-10.0.3/work/mozilla-esr10/gfx/angle/src/compiler/Types.h 2012-04-06 18:10:15.000000000 -0700 @@ -10,6 +10,7 @@ #include "compiler/BaseTypes.h" #include "compiler/Common.h" #include "compiler/compilerdebug.h" +#include <stdlib.h> // for abort() only // // Need to have association of line numbers to types in a list for building structs.
$ emerge --info firefox Portage 2.1.10.49 (default/linux/powerpc/ppc64/10.0/64bit-userland/desktop/gnome, gcc-4.4.5, glibc-2.13-r4, 2.6.32-gentoo-r29-sl ppc64) ================================================================= System Settings ================================================================= System uname: Linux-2.6.32-gentoo-r29-sl-ppc64-PPC970FX,_altivec_supported-with-gentoo-2.0.3 Timestamp of tree: Fri, 06 Apr 2012 12:00:01 +0000 app-shells/bash: 4.2_p20 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.2-r3, 3.1.4-r3, 3.2.2 dev-util/cmake: 2.8.6-r4 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.0.3 sys-apps/openrc: 0.9.8.4 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.7.9-r2, 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.21.1-r1 sys-devel/gcc: 4.4.5, 4.5.3-r2 sys-devel/gcc-config: 1.5-r2 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 3.1 (virtual/os-headers) sys-libs/glibc: 2.13-r4 Repositories: gentoo x-portage ACCEPT_KEYWORDS="ppc64" ACCEPT_LICENSE="* -@EULA IBM-J1.6" CBUILD="powerpc64-unknown-linux-gnu" CFLAGS="-O2 -pipe -mcpu=970 -mtune=970 -maltivec -mabi=altivec" CHOST="powerpc64-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -pipe -mcpu=970 -mtune=970 -maltivec -mabi=altivec" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="ftp://mirror.mcs.anl.gov/pub/gentoo/ http://distfiles.gentoo.org/ http://www.ibiblio.org/pub/Linux/distributions/gentoo/" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/mnt/sda9" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl alsa altivec audio berkdb branding bzip2 cairo caps cdda cdr cli consolekit cracklib crypt cups cxx dbus doc dri dts dvd dvdr eds emboss encode evo examples exif extensions fam ffmpeg fftw firefox flac fontconfig gconf gdbm gdu gif gnome gnome-keyring gnome-online-accounts gnutls gpm graphite gstreamer gtk guile ibm iconv ieee1394 ipv6 jpeg jpeg2k lcms ldap libnotify mad mng modules motif mp3 mp4 mpeg mudflap nautilus ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pdf png policykit ppc64 ppds pppd pulseaudio qt3support qt4 readline sdl session sip socialweb spell sqlite sqlite3 ssl startup-notification stun svg sysfs tcl tcpd theora threads tiff truetype udev unicode usb v4l v4l2 video vim vorbis wav wxwidgets xcb xine xml xorg xulrunner xv xvid zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="canon ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON ================================================================= Package Settings ================================================================= www-client/firefox-10.0.3 was built with the following: USE="alsa dbus libnotify minimal startup-notification webm -bindist (-crashreporter) -custom-cflags -custom-optimization -debug (-ipc) -pgo (-selinux) -system-sqlite -wifi" LINGUAS="-af -ak -ar -as -ast -be -bg -bn_BD -bn_IN -br -bs -ca -cs -csb -cy -da -de -el -en_GB -en_ZA -eo -es_AR -es_CL -es_ES -es_MX -et -eu -fa -fi -fr -fy_NL -ga_IE -gd -gl -gu_IN -he -hi_IN -hr -hu -hy_AM -id -is -it -ja -kk -kn -ko -ku -lg -lt -lv -mai -mk -ml -mr -nb_NO -nl -nn_NO -nso -or -pa_IN -pl -pt_BR -pt_PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv_SE -ta -ta_LK -te -th -tr -uk -vi -zh_CN -zh_TW -zu" CFLAGS="-pipe -mcpu=970 -mtune=970 -mabi=altivec -fPIC -mminimal-toc" CXXFLAGS="-pipe -mcpu=970 -mtune=970 -mabi=altivec -fPIC -mminimal-toc"
You should still include full build.log. And what about switching to stable toolchain *before* trying or reporting anything? Such as, gcc-4.5.3-r2.
BTW. it's a C++-Header, so #include <cstdlib> instead of <stdlib.h>
(In reply to comment #2) > You should still include full build.log. And what about switching to stable > toolchain *before* trying or reporting anything? Such as, gcc-4.5.3-r2. Sorry, I have my whole system built with gcc-4.4 and FF8,9,10.0.1 all built with gcc-4.4 even though the ebuild depends on >=gcc-4.5 However, you correctly identified my problem and 10.0.3 *does* emerge successfully with gcc-4.5 I am building 10.0.3 again, I lost the build log when it successfully built :-) So I guess I should amend this bug report to say "patch to build 10.0.3 using gcc-4.4" which may help somebody. It is not clear to me why the scopes would differ unless bugs in gcc (?) I notice that the ebuild has a dependency on >=gcc-4.5 but does not actually check that I am using it. Is this correct for Gentoo? It fooled me because I get no complaints from 'emerge' when I use gcc-4.4
(In reply to comment #3) > BTW. it's a C++-Header, so #include <cstdlib> instead of <stdlib.h> Well my patch was to bring the problem to the attention of the maintainer rather than to actually correct the code. Would using <cstdlib> versus <stdlib.h> affect the outcome? I am not really a c++ expert but I suspect that either way would allow FF10.0.3 to build.
Created attachment 308121 [details] build log NOTE: this error occurs when using gcc-4.4 (powerpc64-unknown-linux-gnu-4.4.5)
Created attachment 308131 [details] build log
BTW, FF11 also fails on ARM with gcc version 4.5.3 (Gentoo 4.5.3-r2 p1.0, pie-0.4.6) armv7a-hardfloat-linux-gnueabi-g++ -o DetectRecursion.o -c -fvisibility=hidden -DANGLE_USE_NSPR -DANGLE_BUILD -DCOMPILER_IMPLEMENTATION -DANGLE_DISABLE_TRACE -DANGLE_COMPILE_OPTIMIZATION_LEVEL=D3DCOMPILE_OPTIMIZATION_LEVEL0 -DMOZILLA_INTERNAL_API -D_IMPL_NS_COM -DEXPORT_XPT_API -DEXPORT_XPTC_API -D_IMPL_NS_GFX -D_IMPL_NS_WIDGET -DIMPL_XREAPI -DIMPL_NS_NET -DIMPL_THEBES -DSTATIC_EXPORTABLE_JS_API -DOSTYPE=\"Linux3.3\" -DOSARCH=Linux -I/var/tmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/gfx/angle/include -I/var/tmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/gfx/angle/src -I/var/tmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/gfx/angle -I. -I../../dist/include -I../../dist/include/nsprpub -I/usr/include/nspr -I/usr/include/nss -fPIC -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -mcpu=cortex-a8 -mfpu=neon -g -pipe -fpermissive -fno-exceptions -fno-strict-aliasing -std=gnu++0x -pthread -ffunction-sections -fdata-sections -pipe -DNDEBUG -DTRIMMED -g -O2 -fomit-frame-pointer -DMOZILLA_CLIENT -include ../../mozilla-config.h -MD -MF .deps/DetectRecursion.pp /var/tmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/gfx/angle/src/compiler/DetectRecursion.cpp In file included from /var/tmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/gfx/angle/src/compiler/intermediate.h:20:0, from /var/tmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/gfx/angle/src/compiler/BuiltInFunctionEmulator.h:13, from /var/tmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/gfx/angle/src/compiler/Compiler.cpp:7: /var/tmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/gfx/angle/src/compiler/Types.h: In member function 'const TString& TType::getTypeName() const': /var/tmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/gfx/angle/src/compiler/Types.h:211:29: error: 'abort' was not declared in this scope In file included from /var/tmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/gfx/angle/src/compiler/intermediate.h:20:0, from /var/tmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/gfx/angle/src/compiler/DetectRecursion.h:12, from /var/tmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/gfx/angle/src/compiler/DetectRecursion.cpp:7: /var/tmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/gfx/angle/src/compiler/Types.h: In member function 'const TString& TType::getTypeName() const': /var/tmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/gfx/angle/src/compiler/Types.h:211:29: error: 'abort' was not declared in this scope /var/tmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/gfx/angle/src/compiler/DetectRecursion.cpp: In destructor 'DetectRecursion::~DetectRecursion()': /var/tmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/gfx/angle/src/compiler/DetectRecursion.cpp:63:40: warning: comparison between signed and unsigned integer expressions Upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=732764 And upstream fix: http://hg.mozilla.org/mozilla-central/rev/71995d5b92a1 Could you please apply it to the relevant firefox ebuilds?
*** Bug 412415 has been marked as a duplicate of this bug. ***
This should already have landed in 10.0.4 which needs to be the current stable release. I know for sure it has landed in the 12.0 release. If failure is still reproducable with 10.0.4 please reopen.
Patch has not been applied to upstream as of yet so updated patchset to include thanks for reporting.