Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 396565 - www-client/firefox-9.0 fails to build to ppc with error 'union ucontext::uc_regs_ptr' has no member named 'fpregs'
Summary: www-client/firefox-9.0 fails to build to ppc with error 'union ucontext::uc_r...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: PPC Linux
: Normal normal with 2 votes (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard: USE="crashreporter" masked in arch/po...
Keywords:
: 399457 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-12-31 02:48 UTC by daktak
Modified: 2012-03-04 14:30 UTC (History)
5 users (show)

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


Attachments
emerge --info (f9info.txt,6.90 KB, text/plain)
2011-12-31 02:49 UTC, daktak
Details
firefox-9.0 build.log (build.tar.bz2,189.54 KB, application/octet-stream)
2011-12-31 02:54 UTC, daktak
Details
Asked header (ucontext.h,6.20 KB, text/plain)
2012-01-09 23:43 UTC, Laurent G.
Details
emerge --info on the iBook G4 (emerge--info,4.79 KB, text/plain)
2012-01-15 08:12 UTC, Olivier Mehani
Details

Note You need to log in before you can comment on or make changes to this bug.
Description daktak 2011-12-31 02:48:09 UTC
Unable to build firefox 9.0 on macmini PPC, have previously built 7 and 8 successfully.

Reproducible: Always

Steps to Reproduce:
1. unmask www-client/firefox-9.0
2. emerge
3. error
Actual Results:  
powerpc-unknown-linux-gnu-g++ -o exception_handler.o -c  -fvisibility=hidden -DXPI_NAME=crashreporter -DOSTYPE=\"Linux3.1\" -DOSARCH=Linux -I/var/tmp/portage/www-client/firefox-9.0/work/mozilla-release/toolkit/crashreporter/google-breakpad/src/client/linux/handler/../../.. -I/var/tmp/portage/www-client/firefox-9.0/work/mozilla-release/toolkit/crashreporter/google-breakpad/src/client/linux/handler -I. -I../../../../../../../dist/include -I../../../../../../../dist/include/nsprpub  -I/usr/include/nspr -I/usr/include/nss      -fPIC  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -mcpu=powerpc -mtune=powerpc -pipe -fno-strict-aliasing -std=gnu++0x -fno-tree-vrp -pthread -ffunction-sections -fdata-sections -pipe  -DNDEBUG -DTRIMMED -g -Os -freorder-blocks -finline-limit=50 -fomit-frame-pointer   -DMOZILLA_CLIENT -include ../../../../../../../mozilla-config.h -MD -MF .deps/exception_handler.pp /var/tmp/portage/www-client/firefox-9.0/work/mozilla-release/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc
/var/tmp/portage/www-client/firefox-9.0/work/mozilla-release/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc: In member function 'bool google_breakpad::ExceptionHandler::HandleSignal(int, siginfo_t*, void*)':
/var/tmp/portage/www-client/firefox-9.0/work/mozilla-release/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc:330:27: error: 'union ucontext::uc_regs_ptr' has no member named 'fpregs'
/var/tmp/portage/www-client/firefox-9.0/work/mozilla-release/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc:332:32: error: 'union ucontext::uc_regs_ptr' has no member named 'fpregs'
/var/tmp/portage/www-client/firefox-9.0/work/mozilla-release/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc: In member function 'bool google_breakpad::ExceptionHandler::WriteMinidump(bool)':
/var/tmp/portage/www-client/firefox-9.0/work/mozilla-release/toolkit/crashreporter/google-breakpad/src/client/linux/handler/exception_handler.cc:481:60: error: 'union ucontext::uc_regs_ptr' has no member named 'fpregs'
make[7]: *** [exception_handler.o] Error 1
make[7]: Leaving directory `/var/tmp/portage/www-client/firefox-9.0/work/mozilla-release/obj-powerpc-unknown-linux-gnu/toolkit/crashreporter/google-breakpad/src/client/linux/handler'
make[6]: *** [libs] Error 2
make[6]: Leaving directory `/var/tmp/portage/www-client/firefox-9.0/work/mozilla-release/obj-powerpc-unknown-linux-gnu/toolkit/crashreporter'
make[5]: *** [crashreporter_libs] Error 2
make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-9.0/work/mozilla-release/obj-powerpc-unknown-linux-gnu/toolkit'
make[4]: *** [libs_tier_platform] Error 2
make[4]: Leaving directory `/var/tmp/portage/www-client/firefox-9.0/work/mozilla-release/obj-powerpc-unknown-linux-gnu'
make[3]: *** [tier_platform] Error 2
make[3]: Leaving directory `/var/tmp/portage/www-client/firefox-9.0/work/mozilla-release/obj-powerpc-unknown-linux-gnu'
make[2]: *** [default] Error 2
make[2]: Leaving directory `/var/tmp/portage/www-client/firefox-9.0/work/mozilla-release/obj-powerpc-unknown-linux-gnu'
make[1]: *** [realbuild] Error 2
make[1]: Leaving directory `/var/tmp/portage/www-client/firefox-9.0/work/mozilla-release'
make: *** [build] Error 2
emake failed
 * ERROR: www-client/firefox-9.0 failed (compile phase):
 *   emake failed
 * 
 * Call stack:
 *     ebuild.sh, line  56:  Called src_compile
 *   environment, line 6714:  Called die
 * The specific snippet of code:
 *           CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" MOZ_MAKE_FLAGS="${MAKEOPTS}" emake -f client.mk || die "emake failed";
 *
Comment 1 daktak 2011-12-31 02:49:21 UTC
Created attachment 297423 [details]
emerge --info
Comment 2 daktak 2011-12-31 02:54:27 UTC
Created attachment 297425 [details]
firefox-9.0 build.log
Comment 3 Jory A. Pratt gentoo-dev 2012-01-04 17:06:19 UTC
you can build if you disable crashreporter I will look into the issue more on thursday when I am back from a long road trip.
Comment 4 Jory A. Pratt gentoo-dev 2012-01-08 20:44:12 UTC
If you could please attach /usr/include/sys/ucontext.h would be helpful in getting this fixed.
Comment 5 Laurent G. 2012-01-09 23:43:52 UTC
Created attachment 298429 [details]
Asked header

Same kind of machine (MacMini)
Comment 6 Olivier Mehani 2012-01-15 08:11:57 UTC
Same problem here (2005 iBook G4).
Comment 7 Olivier Mehani 2012-01-15 08:12:36 UTC
Created attachment 298977 [details]
emerge --info on the iBook G4
Comment 8 Olivier Mehani 2012-01-15 09:54:58 UTC
Looking in my sys/ucontext.h, I see the following (truncated to the relevant parts).

<pre>
/* Userlevel context.  */
typedef struct ucontext
  {
[...]
    union uc_regs_ptr {
      struct pt_regs *regs;
      mcontext_t *uc_regs;
    } uc_mcontext;
[...]
  } ucontext_t;
</pre>

In my case, this files belongs to sys-libs/glibc-2.12.2.
Comment 9 Jory A. Pratt gentoo-dev 2012-01-20 19:23:10 UTC
*** Bug 399457 has been marked as a duplicate of this bug. ***
Comment 10 Jory A. Pratt gentoo-dev 2012-01-20 19:30:14 UTC
For now my recommendation is to mask crashreporter useflag, this will keep ppc moving forward with mozilla products until we can decide how we will fix it.
Comment 11 Stephen Lewis 2012-01-20 19:35:26 UTC
First I apologize for failing to find this bug, (I did look...)
Here is result on PowerPC64 from 399457

Firefox 9.0 seems to work on PowerPC64 However the crash report parts won't
build
on ppc64 so *must* set USE="-crashreporter"

Pls keyword ~ppc64

Reproducible: Always

Steps to Reproduce:
1.ACCEPT_KEYWORDS="**" USE="-crashreporter" emerge -av firefox
2.
3.
Actual Results:  
Builds and runs :-)



# emerge --info firefox
Portage 2.1.10.11
(default/linux/powerpc/ppc64/10.0/64bit-userland/desktop/gnome, gcc-4.4.5,
glibc-2.13-r4, 2.6.31-gentoo-r10-sl ppc64)
=================================================================
                        System Settings
=================================================================
System uname:
Linux-2.6.31-gentoo-r10-sl-ppc64-PPC970FX,_altivec_supported-with-gentoo-2.0.3
Timestamp of tree: Thu, 19 Jan 2012 13:00:01 +0000
app-shells/bash:          4.1_p9
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.1-r1, 3.1.3-r1
dev-util/cmake:           2.8.4-r1
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.8.3-r1
sys-apps/sandbox:         2.4
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-r1
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 2.6.36.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
fixpackages 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 --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 altivec audio berkdb branding bzip2 cairo 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 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

=================================================================
                        Package Settings
=================================================================

www-client/firefox-9.0 was built with the following:
USE="dbus libnotify startup-notification webm -alsa -bindist -crashreporter
-custom-cflags -custom-optimization -debug (-ipc) -pgo -system-sqlite -wifi"
LINGUAS="en -af -ak -ar -ast -be -bg -bn -bn_BD -bn_IN -br -bs -ca -cs -cy -da
-de -el -en_GB -en_US -en_ZA -eo -es -es_AR -es_CL -es_ES -es_MX -et -eu -fa
-fi -fr -fy -fy_NL -ga -ga_IE -gd -gl -gu -gu_IN -he -hi -hi_IN -hr -hu -hy
-hy_AM -id -is -it -ja -kk -kn -ko -ku -lg -lt -lv -mai -mk -ml -mr -nb -nb_NO
-nl -nn -nn_NO -nso -or -pa -pa_IN -pl -pt -pt_BR -pt_PT -rm -ro -ru -si -sk
-sl -son -sq -sr -sv -sv_SE -ta -ta_LK -te -th -tr -uk -vi -zh -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 12 Samuli Suominen (RETIRED) gentoo-dev 2012-01-25 17:55:44 UTC
Masked USE crashreporter in arch/powerpc/package.use.mask and keyworded www-client/firefox-9.0 with ~ppc64, as it already had ~ppc.
Comment 13 Olivier Mehani 2012-01-26 05:51:25 UTC
The build does complete succesfully without the crashreporter USE flag. However, it also disable de session recovery functionnalities.
Comment 14 Samuli Suominen (RETIRED) gentoo-dev 2012-01-26 08:03:37 UTC
(In reply to comment #13)
> The build does complete succesfully without the crashreporter USE flag.
> However, it also disable de session recovery functionnalities.

that is bad, and this was of course only meant as a temporary solution and hence this bug is still open. patches welcome.
Comment 15 Stephen Lewis 2012-01-26 17:14:12 UTC
(In reply to comment #13)
> The build does complete succesfully without the crashreporter USE flag.
> However, it also disable de session recovery functionnalities.

Could you give an example?
If I kill a running 'firefox' on my ppc64 and then start it again, it gives
a dialog box saying "Well, this is embarassing..." but if I click
"Restore" it restores the session OK. I have seen this behaviour on
other builds also so I am not sure it is related to 'crashreporter'.
Comment 16 Olivier Mehani 2012-01-29 02:24:34 UTC
I killall'd -9 firefox twice (the first $n$ times, it usually tries to restore directly). After the second time, instead of restoring my tabs, it starts a session with only one tab, trying to load URL about:sessionrestore which immediately triggers an alert box saying that “[t]he URL is not valid and cannot be loaded.”

My Firefox 9.0 is compiled for PPC with the following USE flags: (alsa dbus libnotify webm -bindist -crashreporter -custom-cflags -custom-optimization -debug -ipc -linguas_af -linguas_ak -linguas_ar -linguas_ast -linguas_be -linguas_bg -linguas_bn -linguas_bn_BD -linguas_bn_IN -linguas_br -linguas_bs -linguas_ca -linguas_cs -linguas_cy -linguas_da -linguas_de -linguas_el -linguas_en -linguas_en_GB -linguas_en_US -linguas_en_ZA -linguas_eo -linguas_es -linguas_es_AR -linguas_es_CL -linguas_es_ES -linguas_es_MX -linguas_et -linguas_eu -linguas_fa -linguas_fi -linguas_fr -linguas_fy -linguas_fy_NL -linguas_ga -linguas_ga_IE -linguas_gd -linguas_gl -linguas_gu -linguas_gu_IN -linguas_he -linguas_hi -linguas_hi_IN -linguas_hr -linguas_hu -linguas_hy -linguas_hy_AM -linguas_id -linguas_is -linguas_it -linguas_ja -linguas_kk -linguas_kn -linguas_ko -linguas_ku -linguas_lg -linguas_lt -linguas_lv -linguas_mai -linguas_mk -linguas_ml -linguas_mr -linguas_nb -linguas_nb_NO -linguas_nl -linguas_nn -linguas_nn_NO -linguas_nso -linguas_or -linguas_pa -linguas_pa_IN -linguas_pl -linguas_pt -linguas_pt_BR -linguas_pt_PT -linguas_rm -linguas_ro -linguas_ru -linguas_si -linguas_sk -linguas_sl -linguas_son -linguas_sq -linguas_sr -linguas_sv -linguas_sv_SE -linguas_ta -linguas_ta_LK -linguas_te -linguas_th -linguas_tr -linguas_uk -linguas_vi -linguas_zh -linguas_zh_CN -linguas_zh_TW -linguas_zu -pgo -startup-notification -system-sqlite -wifi)

The only difference with before, apart from the version change, is the -crashreporter, as suggested above to make 9.0 compile.
Comment 17 Jory A. Pratt gentoo-dev 2012-03-04 14:30:15 UTC
Until crashreporter is ported to powerpc and other arch I am closing, soon as porting is complete we will get crashreporter unmasked.