Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 411101 - www-client/firefox-10.0.3 - ./firefox-10.0.3/work/mozilla-esr10/gfx/angle/src/compiler/Types.h error: 'abort' was not declared in this scope
Summary: www-client/firefox-10.0.3 - ./firefox-10.0.3/work/mozilla-esr10/gfx/angle/src...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: PPC64 Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords: PATCH
: 412415 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-04-07 04:24 UTC by Stephen Lewis
Modified: 2012-05-07 17:39 UTC (History)
4 users (show)

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


Attachments
build log (build.log.bz2,111.82 KB, text/plain)
2012-04-07 17:51 UTC, Stephen Lewis
Details
build log (build.log.bz2,111.82 KB, application/x-bzip2)
2012-04-07 17:56 UTC, Stephen Lewis
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stephen Lewis 2012-04-07 04:24:09 UTC
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.
Comment 1 Stephen Lewis 2012-04-07 04:26:13 UTC
$ 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"
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2012-04-07 05:46:17 UTC
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.
Comment 3 Franz Trischberger 2012-04-07 07:03:38 UTC
BTW. it's a C++-Header, so #include <cstdlib> instead of <stdlib.h>
Comment 4 Stephen Lewis 2012-04-07 17:09:03 UTC
(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
Comment 5 Stephen Lewis 2012-04-07 17:16:02 UTC
(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.
Comment 6 Stephen Lewis 2012-04-07 17:51:25 UTC
Created attachment 308121 [details]
build log

NOTE: this error occurs when using gcc-4.4
(powerpc64-unknown-linux-gnu-4.4.5)
Comment 7 Stephen Lewis 2012-04-07 17:56:27 UTC
Created attachment 308131 [details]
build log
Comment 8 Siarhei Siamashka 2012-04-08 06:22:29 UTC
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?
Comment 9 Jory A. Pratt gentoo-dev 2012-04-22 16:35:11 UTC
*** Bug 412415 has been marked as a duplicate of this bug. ***
Comment 10 Jory A. Pratt gentoo-dev 2012-05-07 15:42:31 UTC
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.
Comment 11 Jory A. Pratt gentoo-dev 2012-05-07 17:39:06 UTC
Patch has not been applied to upstream as of yet so updated patchset to include thanks for reporting.