Tracker bug for firefox on ppc64. Initial problem is linker having problems with ssl. Log is attached and will be updated as issues are resolved. Please do not close bug until firefox is completely up and running properly on ppc64.
ranlib Linux2.6_x86_glibc_PTH_64_OPT.OBJ/libsectool.a ../../../coreconf/nsinstall/Linux2.6_x86_glibc_PTH_64_OPT.OBJ/nsinstall -R -m 664 Linux2.6_x86_glibc_PTH_64_OPT.OBJ/libsectool.a /var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/dist/lib gmake[3]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/security/nss/cmd/lib' /usr/bin/gmake -C ../../security/nss/cmd/shlibsign MAKE="/usr/bin/gmake -j1" -j1 MOZILLA_INCLUDES="-I/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/dist/include/nspr -I/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/dist/include/dbm" SOURCE_MD_DIR=/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/dist DIST=/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/dist MOZILLA_CLIENT=1 NO_MDUPDATE=1 BUILD_OPT=1 NS_USE_GCC=1 NS_USE_NATIVE= USE_64=1 gmake[3]: Entering directory `/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/security/nss/cmd/shlibsign' gmake[3]: warning: -jN forced in submake: disabling jobserver mode. cd mangle; /usr/bin/gmake -j1 export gmake[4]: Entering directory `/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/security/nss/cmd/shlibsign/mangle' gmake[4]: Nothing to be done for `export'. gmake[4]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/security/nss/cmd/shlibsign/mangle' Mon Aug 8 21:49:07 CDT 2005 gcc -o Linux2.6_x86_glibc_PTH_64_OPT.OBJ/shlibsign.o -c -O2 -fPIC -DLINUX1_2 -Di386 -D_XOPEN_SOURCE -DLINUX2_1 -ansi -Wall -pipe -DLINUX -Dlinux -D_POSIX_SOURCE -D_BSD_SOURCE -DHAVE_STRERROR -DXP_UNIX -DSHLIB_SUFFIX=\"so\" -DSHLIB_PREFIX=\"lib\" -UDEBUG -DNDEBUG -D_REENTRANT -I/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/dist/include -I../../../../dist/public/nss -I../../../../dist/private/nss -I../../../../dist/include -I/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/dist/include/nspr -I/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/dist/include/dbm -I../../../../dist/public/dbm -I../../../../dist/public/seccmd shlibsign.c gcc -o Linux2.6_x86_glibc_PTH_64_OPT.OBJ/shlibsign -O2 -fPIC -DLINUX1_2 -Di386 -D_XOPEN_SOURCE -DLINUX2_1 -ansi -Wall -pipe -DLINUX -Dlinux -D_POSIX_SOURCE -D_BSD_SOURCE -DHAVE_STRERROR -DXP_UNIX -DSHLIB_SUFFIX=\"so\" -DSHLIB_PREFIX=\"lib\" -UDEBUG -DNDEBUG -D_REENTRANT -I/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/dist/include -I../../../../dist/public/nss -I../../../../dist/private/nss -I../../../../dist/include -I/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/dist/include/nspr -I/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/dist/include/dbm -I../../../../dist/public/dbm -I../../../../dist/public/seccmd Linux2.6_x86_glibc_PTH_64_OPT.OBJ/shlibsign.o /var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/dist/lib/libsectool.a -Wl,-rpath-link,/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/dist/lib -L/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/dist/lib -lssl3 -lsmime3 -lnss3 -lplc4 -lplds4 -lnspr4 -L/lib -lpthread -ldl -lc /usr/lib/gcc/powerpc64-unknown-linux-gnu/3.4.4/../../../../powerpc64-unknown-linux-gnu/bin/ld: cannot find -lssl3 collect2: ld returned 1 exit status gmake[3]: *** [Linux2.6_x86_glibc_PTH_64_OPT.OBJ/shlibsign] Error 1 gmake[3]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/security/nss/cmd/shlibsign' gmake[2]: *** [libs] Error 2 gmake[2]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla/security/manager' gmake[1]: *** [tier_40] Error 2 gmake[1]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.0.6-r4/work/mozilla' make: *** [default] Error 2 Error provided by rangerpb via my request.
Created attachment 65501 [details, diff] ppc64 mozilla-firefox-1.0.6 add to very end of ebuild for now if you would like to test. this is rediffed against all other patches to prevent any breakage. If you have any questions feel free to ask I will do my best to answer and/or get you an answer.
Created attachment 65505 [details, diff] ppc64 mozilla-firefox-1.0.6 with this patch firefox compiles for me, but the xptcall function written by tgall needs some tweaking, as it seg faults.
all but the xpcom patches have been applied upstream, but are not yet included in the firefox releases. (hopefully being included in version 2.0) As far as I can trust my knowledge about such things, the xpcom code seems to have an off by one error: $ firefox No running windows found Type Manifest File: /home/markus/.mozilla/firefox/t4i3bmfz.default/xpti.dat *** Registering Apprunner components (all right -- a generic module!) nsNativeComponentLoader: autoregistering begins. nsNativeComponentLoader: autoregistering succeeded nsNativeComponentLoader: registering deferred (0) WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsChromeRegistry.cpp, line 1245 GFX: dpi=96 t2p=0.0666667 p2t=15 depth=24 ++WEBSHELL == 1 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsPermissionManager.cpp, line 632 ++DOMWINDOW == 1 WARNING: NS_ENSURE_TRUE(em) failed, file nsAppRunner.cpp, line 2247 ###!!! ASSERTION: Failed to create nsICloseAllWindows impl.: 'closer', file nsAppStartup.cpp, line 508 Break: at file nsAppStartup.cpp, line 508 ###!!! ASSERTION: Can't veto change!: 'Error', file nsXREDirProvider.cpp, line 614 Break: at file nsXREDirProvider.cpp, line 614 --WEBSHELL == 0 ###!!! ASSERTION: Main thread being held past XPCOM shutdown.: 'cnt == 0', file nsThread.cpp, line 478 Break: at file nsThread.cpp, line 478 nsStringStats => mAllocCount: 2027 => mReallocCount: 869 => mFreeCount: 2026 -- LEAKED 1 !!! => mShareCount: 1697 => mAdoptCount: 885 => mAdoptFreeCount: 884 -- LEAKED 1 !!! firefox-bin exited with non-zero status (1) $
ok.. I forgot a patch to actualy use the ppc64 files for xptcall, so it defaulted to the generic (not working) xptcall function. So I included it and now I'm getting this while compiling: powerpc64-unknown-linux-gnu-g++ -o xptcinvoke_ppc64_linux.o -c -fvisibility=hidden -fvisibility-inlines-hidden -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -DBUILD_ID=2006050310 -DEXPORT_XPTC_API -I../../../../../../dist/include/xpcom -I../../../../../../dist/include -I/usr/include/nspr -I../../../../../../dist/sdk/include -I./../.. -fPIC -DGENTOO_NSPLUGINS_DIR=\"/usr/lib64/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib64/nsbrowser/plugins\" -fno-rtti -fno-handle-exceptions -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -pipe -mtune=970 -mcpu=970 -mabi=altivec -g -fPIC -mminimal-toc -Wno-return-type -w -freorder-blocks -fno-reorder-functions -fshort-wchar -pthread -pipe -DDEBUG -D_DEBUG -DDEBUG_root -DTRACING -g -fno-inline -O1 -DGENTOO_NSPLUGINS_DIR=\"/usr/lib64/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib64/nsbrowser/plugins\" -DMOZILLA_CLIENT -include ../../../../../../mozilla-config.h -Wp,-MD,.deps/xptcinvoke_ppc64_linux.pp xptcinvoke_ppc64_linux.cpp xptcinvoke_ppc64_linux.cpp: In function ‘void invoke_copy_to_stack(PRUint32*, PRUint32, nsXPTCVariant*, PRUint64*, double*)’: xptcinvoke_ppc64_linux.cpp:81: error: cast from ‘void*’ to ‘PRUint32’ loses precision xptcinvoke_ppc64_linux.cpp:97: error: cast from ‘void*’ to ‘PRUint32’ loses precision xptcinvoke_ppc64_linux.cpp:105: error: cast from ‘PRUint32*’ to ‘PRUint32’ loses precision xptcinvoke_ppc64_linux.cpp:122: error: cast from ‘PRUint32*’ to ‘PRUint32’ loses precision gmake[7]: *** [xptcinvoke_ppc64_linux.o] Error 1 gmake[7]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5.0.3/work/mozilla/xpcom/reflect/xptcall/src/md/unix' gmake[6]: *** [libs] Error 2 gmake[6]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5.0.3/work/mozilla/xpcom/reflect/xptcall/src/md' gmake[5]: *** [libs] Error 2 gmake[5]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5.0.3/work/mozilla/xpcom/reflect/xptcall/src' gmake[4]: *** [libs] Error 2 gmake[4]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5.0.3/work/mozilla/xpcom/reflect/xptcall' gmake[3]: *** [libs] Error 2 gmake[3]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5.0.3/work/mozilla/xpcom/reflect' gmake[2]: *** [libs] Error 2 gmake[2]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5.0.3/work/mozilla/xpcom' gmake[1]: *** [tier_2] Error 2 gmake[1]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5.0.3/work/mozilla' make: *** [default] Error 2
Created attachment 86059 [details, diff] mozilla-firefox-1.5.0.2-ppc64.patch patch for firefox 1.5.0.2 (or 1.5.0.3 if you want)
Created attachment 86413 [details] backtrace this is the backtrace I could get from the error: [...] *** Registering nsBrowserCompsModule components (all right -- a generic module!) nsNativeComponentLoader: autoregistering succeeded ###!!! ASSERTION: Failed to write xpti manifest!: 'Error', file xptiInterfaceInfoManager.cpp, line 1937 Break: at file xptiInterfaceInfoManager.cpp, line 1937 /usr/libexec/mozilla-launcher: line 117: 13603 Segmentation fault (core dumped) "$mozbin" "$@" firefox-bin exited with non-zero status (139)
Created attachment 94300 [details, diff] mozilla-firefox-2.0_beta1-ppc64.patch I've checked which parts have gotten upstream in version 2.0_beta1 (ppc64 is now a known arch in makefiles, patches for nss/nspr are included etc.) and made a new patch for mozilla-firefox-2.0_beta1 (removing those parts which are no longer required). Unfortunatly this won't compile using gcc-4.1.1/4.2_alpha and this brings us a step further: as you can see in the error message we are doing some bad type casts: [...] xptcinvoke_ppc64_linux.cpp: In function ‘void invoke_copy_to_stack(PRUint32*, PRUint32, nsXPTCVariant*, PRUint64*, double*)’: xptcinvoke_ppc64_linux.cpp:81: error: cast from ‘void*’ to ‘PRUint32’ loses precision xptcinvoke_ppc64_linux.cpp:97: error: cast from ‘void*’ to ‘PRUint32’ loses precision xptcinvoke_ppc64_linux.cpp:105: error: cast from ‘PRUint32*’ to ‘PRUint32’ loses precision xptcinvoke_ppc64_linux.cpp:122: error: cast from ‘PRUint32*’ to ‘PRUint32’ loses precision gmake[7]: *** [xptcinvoke_ppc64_linux.o] Error 1 gmake[7]: *** Waiting for unfinished jobs.... xptcstubs_ppc64_linux.cpp: In function ‘nsresult PrepareAndDispatch(nsXPTCStubBase*, PRUint32, PRUint32*, PRUint64*, double*)’: xptcstubs_ppc64_linux.cpp:120: error: cast from ‘PRUint32*’ to ‘PRUint32’ loses precision xptcstubs_ppc64_linux.cpp:139: error: cast from ‘PRUint32*’ to ‘PRUint32’ loses precision gmake[7]: *** [xptcstubs_ppc64_linux.o] Error 1
Created attachment 102624 [details, diff] xpcom patch for firefox 1.5 and 2.0 With this, 64-bit firefox builds and runs for me (on Fedora)
Created attachment 102626 [details, diff] Equivalent patch for firefox trunk. cf. https://bugzilla.mozilla.org/show_bug.cgi?id=361415
oh my god! this is fscking awsome! I've been waiting for this so long. I will compile now and add the patch to portage ASAP. thanks a lot! :-)
yes, this patch builds and runs firefox: http://www.unixforces.net/~markus/screenshots/screenshot-2009-11-24.png mozilla: please include this patch in firefox, seamonkey and xulrunner. Or do you want me to do so?
mozilla team: ping, I would realy like to get this fixed.
corsair: feel free to fix this yourself.
(In reply to comment #13) > mozilla team: ping, I would realy like to get this fixed. > Upstream is getting ready to reject the patch. It breaks others archs. I made all this well aware on #gentoo-moz while kloeri was around. So If you choose to add this you will break archs that are already keyworded.
I would add the patch to distfiles or something like that, but it would be best to get this patch into gentoo's mozilla-firefox patchset, would it?
woops.. didn't read comment #15 before replying. will check what would break other arches.. I mean, this only adds a few files for ppc64 and those are only compiled on ppc64.
I emerged firefox-2.0-r2 on my ppc64 with 64-bit userland successfully, but when I ran "firefox" in a terminal, it crashed with: dehua@localhost ~ $ firefox No running windows found Assertion failure: 0 == rv, at ../../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:207 /usr/libexec/mozilla-launcher: line 117: 8449 Aborted "$mozbin" "$@" firefox-bin exited with non-zero status (134) What is the problem? Has firefox-2.0-r2 version the ppc64 patches applied?
-r2 has had the patch for trunk applied, but that wouldn't build. there was just a new patchset added to -r2 without the patch again... yang: download the patch for 2.0 manualy and place it in files/ (or even in a local portage overlay if you like to) and edit the ebuild manualy. you also have to delete the line which let's the ebuild die on ppc64 (comes from 32bit only times)
I am wrong version 0.4 of the mozilla-firefox 2.0 patchset includes the correct patch. yang could you please try to sync and check again? also providing emerge --info might be useful.
Created attachment 103344 [details, diff] 301_firefox-2.0_ppc64.patch this patch might work on ppc64 with 32bit userland, too. have only done compile testing.
Thank you, Markus. What I tried is just that with 0.4 version of patchset. The same build I emerged successfully in a 32-bit chroot, and it works fine. But I'd like to use the 64-bit userland applications. Here is my emerge info: Emerge info: Portage 2.1.1-r2 (default-linux/ppc/ppc64/2006.1/multilib, gcc-4.1.1, glibc-2.5-r0, 2.6.18-gentoo-r3 ppc64) ================================================================= System uname: 2.6.18-gentoo-r3 ppc64 PPC970, altivec supported Gentoo Base System version 1.12.6 Last Sync: Sat, 02 Dec 2006 02:30:01 +0000 ccache version 2.3 [disabled] app-admin/eselect-compiler: [Not Present] dev-java/java-config: 1.3.7, 2.0.30 dev-lang/python: 2.3.5-r2, 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="ppc64" AUTOCLEAN="yes" CBUILD="powerpc64-unknown-linux-gnu" CFLAGS="-O2 -mcpu=970 -mtune=970 -maltivec -mabi=altivec -mpowerpc64 -fno-strict-aliasing -fomit-frame-pointer -pipe" CHOST="powerpc64-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-O2 -mcpu=970 -mtune=970 -maltivec -mabi=altivec -mpowerpc64 -fno-strict-aliasing -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.gentoo.or.kr http://distfiles.gentoo.org http://ftp.tsinghua.edu.cn/mirror/gentoo http://mirror.usu.edu/mirrors/gentoo" LANG="en_US.UTF-8" LINGUAS="zh_CN en" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/MyPortage /usr/local/MyPortage/gentoo-xeffects" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="ppc64 X a52 aac aalib accessibility aiglx alsa altivec apache2 asf aspell berkdb bitmap-fonts browserplugin bzip2 cairo cdr chardet cjk cli cracklib crypt cups curl dba dbus dlloader dri dts dvd dvdnav dvdr eds elibc_glibc emboss encode esd exif faac faad2 fb ffmpeg flac foomaticdb fortran gd gd-external gdbm gif gimpprint glitz gmp gnome gpm gstreamer gtk gtk2 gtkhtml hal ibm iconv imagemagick imlib input_devices_keyboard input_devices_mouse ipv6 isdnlog java jpeg jpeg2k kde kernel_linux lcms ldap libg++ libwww linguas_en linguas_zh_CN mad mbox mikmod mng motif mp3 mpeg mpg mysql nas ncurses nls nptl nptlonly ogg opengl oss pam pcre pdf perl png postgres ppds pppd python qt qt3 qt4 quicktime readline reflection samba sasl sdl session slang spell spl sqlite ssl svg tcpd theora tiff truetype truetype-fonts type1-fonts udev unicode userland_GNU v4l v4l2 vcd video_cards_ati video_cards_fbdev video_cards_radeon vidix vorbis wma x264 xanim xcomposite xine xml xml2 xorg xv xvid xvmc zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
(In reply to comment #15) > Upstream is getting ready to reject the patch. It breaks others archs. I made > all this well aware on #gentoo-moz while kloeri was around. So If you choose to > add this you will break archs that are already keyworded. Can you explain why you think this breaks other architectures? This patch should _only_ affect behaviour when 'uname -m' is 'ppc64', and in that case firefox always used to appear to build correctly, but spit out a binary which was non-functional: https://bugzilla.mozilla.org/show_bug.cgi?id=361413 I've tested builds for 32-bit and 64-bit PowerPC on ppc64 hardware; building for 32-bit PowerPC on ppc32 hardware shouldn't be affected. And I certainly can't see how it would affect any _other_ architecture.
I synchronized and emerged again the firefox-2.0-r2, but again no avail, the same problems as before. It's frustrating to know that it' working for others while for me firefox is the most important and wanted application. Markus, could you post your emerge info? thank you. Dehua
Id there someting to do with my ppc64 multilib profile?
Now I have different errors: No running windows found /usr/libexec/mozilla-launcher: line 117: 16340 Segmentation fault $(type -P aoss) "$mozbin" "$@" firefox-bin exited with non-zero status (139) after I updated packages of nspr, nss and mozilla-launcher to the latest test builds.
(In reply to comment #26) > Now I have different errors: > > No running windows found > /usr/libexec/mozilla-launcher: line 117: 16340 Segmentation fault $(type > -P aoss) "$mozbin" "$@" > firefox-bin exited with non-zero status (139) > > after I updated packages of nspr, nss and mozilla-launcher to the latest test > builds. > Give us the output from /usr/lib/mozilla-firefox/firefox-bin showing a seg in bash is not helpful one bit.
(In reply to comment #24) > Markus, could you post your emerge info? thank you. nothing special here (using 64bit only profile): $ emerge --info Portage 2.1.1-r2 (default-linux/ppc/ppc64/2006.1/64bit-userland-gcc4/970/pmac, gcc-4.1.1, glibc-2.4-r4, 2.6.19 ppc64) ================================================================= System uname: 2.6.19 ppc64 PPC970FX, altivec supported Gentoo Base System version 1.12.6 Last Sync: Tue, 05 Dec 2006 21:00:01 +0000 ccache version 2.3 [disabled] app-admin/eselect-compiler: [Not Present] dev-java/java-config: [Not Present] dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.60 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.13-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r2 ACCEPT_KEYWORDS="ppc64" AUTOCLEAN="yes" CBUILD="powerpc64-unknown-linux-gnu" CFLAGS="-O2 -pipe -mtune=970 -mcpu=970 -mabi=altivec -g" CHOST="powerpc64-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-O2 -pipe -mtune=970 -mcpu=970 -mabi=altivec -g" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig cvs distlocks installsources metadata-transfer sandbox sfperms splitdebug strict" GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo" LANG="en_US.UTF8" LC_ALL="en_US.UTF8" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="ppc64 X a52 aac aiglx alsa altivec amr apache2 apm asf bash-completion berkdb bitmap-fonts bzip2 cairo ccache cdinstall cdparanoia cdr cli cracklib crypt cups curl cvs dbus dlloader dri dts dv dvd dvdr dvdread elibc_glibc emboss enca encode exscalibar ffmpeg flac foomaticdb fortran fping gd gdbm ggi gif gimpprint glib glitz gmp gnokii gnutls gphoto2 gpm graphviz gs gstreamer gtk hal hfs highlight iconv ieee1394 imagemagick imlib input_devices_keyboard input_devices_mouse ipv6 isdnlog jpeg kde kdeenablefinal kernel_linux latex ldap libg++ libwww mad matroska mdnsresponder-compat mikmod mjpeg motif mozbranding mp3 mp4 mpeg mplayer multiuser musicbrainz mysql ncurses network nls no-old-linux nptl nptlonly nsplugin objc objc++ offensive ogg openal opengl pam pcre pdf perl php plotutils png ppds pppd python qt3 qt4 quicktime rdesktop readline reflection ruby samba scanner screen sdl session skins slp smp spell spl ssl stream subtitles subversion svg tcltk tcpd teamarena tetex theora threads tiff truetype truetype-fonts type1-fonts udev unicode upnp usb userland_GNU utempter vcd video_cards_radeon videos vim-pager vorbis wxwindows x264 xcomposite xine xml xorg xpm xscreensaver xv xvid xvmc zeroconf zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
Well, firefox-bin: dehua@localhost ~ $ /usr/lib/mozilla-firefox/firefox-bin Segmentation fault
yang: follow this steps to get a useful backtrace: dehua@localhost ~ $ ulimit -c 1000000 dehua@localhost ~ $ /usr/lib/mozilla-firefox/firefox-bin Segmentation fault (core dumped) dehua@localhost ~ $ gdb /usr/lib/mozilla-firefox/firefox-bin --core core --batch --quiet -ex "thread apply all bt full" -ex "quit" please post the output. (note that the core might be named core.pid, for example core.13455 and you would have to use --core core.13455 instead of --core core. I don't know what triggers the name...) if this does not get a useful output you have to compile firefox again with "-g" added to your CFLAGS and FEATURES="nostrip", but hold on recompiling until someone says the backtrace is not good enough.
oh. my guess is by the way that 32bit ppc64 profile is fscked up... ;-)
Thank you, Markus. I compiled firefox with debug USE flag, and got more error messages when I executed firefox-bin(see next). The repeated errors mainly concern two files: ###!!! ASSERTION: no method info: 'info', file xptcstubs_ppc64_linux.cpp, line 89 Break: at file xptcstubs_ppc64_linux.cpp, line 89 ###!!! ASSERTION: bad param: 'Error', file xptiInterfaceInfo.cpp, line 326 Break: at file xptiInterfaceInfo.cpp, line 326 Dehua
Created attachment 103502 [details] Error messages when executing firefox-bin
Output of debug info from firefox-bin: dehua@localhost ~ $ gdb /usr/lib/mozilla-firefox/firefox-bin --core core.9554 --batch --quiet -ex "thread apply all bt full" -ex "quit" (no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". Failed to read a valid object file image from memory. Core was generated by `/usr/lib/mozilla-firefox/firefox-bin '. Program terminated with signal 11, Segmentation fault. warning: Can't read pathname for load map: Input/output error. (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) #0 0x0000000000000000 in ?? () Thread 2 (process 9558): #0 0x00000400012373d8 in .__clone () from /lib/libc.so.6 No symbol table info available. #1 0x000004000043016c in .do_clone () from /lib/libpthread.so.0 No symbol table info available. Previous frame inner to this frame (corrupt stack?) Thread 1 (process 9554): #0 0x0000000000000000 in ?? () No symbol table info available. #1 0x0000040001d35f5c in ?? () from /usr/lib64/mozilla-firefox/components/libxpconnect.so No symbol table info available. ---Type <return> to continue, or q <return> to quit--- #2 0x000004000032cfd8 in vtable for nsHashKey () from /usr/lib64/mozilla-firefox/libxpcom_core.so No symbol table info available. #3 0x000004000036a188 in .PL_InitArenaPool () from /usr/lib64/nspr/libplds4.so.6 No symbol table info available. #4 0x0000040001da27f0 in ._ZN5nsCRT4freeEPt () from /usr/lib64/mozilla-firefox/components/libxpconnect.so No symbol table info available. #5 0x0000040001da2ba4 in ._ZN5nsCRT4freeEPt () from /usr/lib64/mozilla-firefox/components/libxpconnect.so No symbol table info available. #6 0x0000040001d9e5a4 in ._ZN5nsCRT4freeEPt () from /usr/lib64/mozilla-firefox/components/libxpconnect.so No symbol table info available. #7 0x0000040001d9e67c in ._ZN5nsCRT4freeEPt () from /usr/lib64/mozilla-firefox/components/libxpconnect.so No symbol table info available. #8 0x00000400002a9ca8 in .NS_GetComponentManager_P () from /usr/lib64/mozilla-firefox/libxpcom_core.so No symbol table info available. #9 0x00000400002abd60 in .NS_GetComponentManager_P () from /usr/lib64/mozilla-firefox/libxpcom_core.so ---Type <return> to continue, or q <return> to quit--- No symbol table info available. #10 0x00000400002abe00 in .NS_GetComponentManager_P () from /usr/lib64/mozilla-firefox/libxpcom_core.so No symbol table info available. #11 0x00000400002326a0 in .NS_InitXPCOM3_P () from /usr/lib64/mozilla-firefox/libxpcom_core.so No symbol table info available. #12 0x0000000010007be0 in ?? () No symbol table info available. #13 0x0000000010070240 in ?? () No symbol table info available. #14 0x4800048288000484 in ?? () No symbol table info available. #15 0x5800048200000000 in ?? () No symbol table info available. #16 0x0000000000000029 in ?? () No symbol table info available. #17 0x00000fffffd34af0 in ?? () No symbol table info available. #18 0x000004000003e010 in ?? () from /usr/lib64/mozilla-firefox/libmozjs.so No symbol table info available. #19 0x0000000000000000 in ?? () No symbol table info available.
OK, Solved! I noticed that in Markus's machine binutils-2.17 was used, so I thought that may be the reason why it didn't work on my machine. I emerged binutils-2.17 and firefox-2.0-r2 again, and it worked! It works like a charm! I think in firefox ebuild file >=binutils-2.17 dep may be needed for using this version of firefox. Thank you very much for all you guys having helped me! Dehua
(In reply to comment #35) > I think in firefox ebuild file >=binutils-2.17 dep may be needed for using this > version of firefox. > Thank you very much for all you guys having helped me! > > Dehua > Never gonna happen, only ppc64 is having such problems. Maybe your default profile should force a sane binutils instead of a busted one?
(In reply to comment #36) > (In reply to comment #35) > > I think in firefox ebuild file >=binutils-2.17 dep may be needed for using this > > version of firefox. > > Thank you very much for all you guys having helped me! > > > > Dehua > > > Never gonna happen, only ppc64 is having such problems. Maybe your default > profile should force a sane binutils instead of a busted one? > Yes, you are right.
(In reply to comment #32) > ###!!! ASSERTION: no method info: 'info', file xptcstubs_ppc64_linux.cpp, line > 89 > Break: at file xptcstubs_ppc64_linux.cpp, line 89 hrm.. shouldn't xptcstubs_ppc_linux.cpp be used in 32bit userland? (In reply to comment #36) > Never gonna happen, only ppc64 is having such problems. Maybe your default > profile should force a sane binutils instead of a busted one? yes, default profile should force a sane binutils, but the problem is that there is no such version.. binutils-2.17 fails to link emacs (bug #152006), but fixed issues with ffmpeg (bug #147565) and now also firefox... this hurts.. :-/
Created attachment 103585 [details, diff] Updated patch for 1.5/2.0 This patch fixes an ABI violation in my original -- I should have had a 'nop' after each branch which the linker could play silly buggers with. This is the replacement version for firefox 1.5 and 2.0 -- for the replacement version against firefox trunk, see the bug in mozilla bugzilla (which I referenced above).
*** Bug 136551 has been marked as a duplicate of this bug. ***
mozilla team: once last update for the patch in patch-tarball please.. thanks!
(In reply to comment #41) > mozilla team: once last update for the patch in patch-tarball please.. thanks! > I will get to this a bit later today along with the 32bit ul patch, sorry for the delay.
patch tarball is updated now and we have the ~ppc64 in mozilla-firefox-2.0.0.1. firefox *should* build and run on ppc64! (whee!!!) And it *might* work on 32bit userland, too. (else I need to figure out why we don't use the setarch tool on 32bit userland. we don't, do we?) marking as FIXED. I'll reopen if we still have problems. many thanks to David Woodhouse for his awesome work on the patch!