Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 241900

Summary: x11-libs/qt-webkit-4.4.2 fails to compile on ppc64 due to full TOC
Product: Gentoo Linux Reporter: Andrew John Hughes <gnu_andrew>
Component: [OLD] LibraryAssignee: ppc64 architecture team <ppc64>
Status: VERIFIED WORKSFORME    
Severity: normal CC: andreas.thalhammer, qt, toolchain, vapier
Priority: High    
Version: unspecified   
Hardware: PPC64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Build log
updated ebuild

Description Andrew John Hughes 2008-10-14 09:05:15 UTC
linking ../../../../lib/libQtWebKit.so.4.4.2
/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.3.1/../../../../powerpc64-unknown-linux-gnu/bin/ld: .obj/release-shared/SVGRadialGradientElement.o(.text+0xd34): sibling call optimization to `WTF::HashSet<WebCore::SVGGradientElement const*, WTF::PtrHash<WebCore::SVGGradientElement const*>, WTF::HashTraits<WebCore::SVGGradientElement const*> >::add(WebCore::SVGGradientElement const* const&)' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `WTF::HashSet<WebCore::SVGGradientElement const*, WTF::PtrHash<WebCore::SVGGradientElement const*>, WTF::HashTraits<WebCore::SVGGradientElement const*> >::add(WebCore::SVGGradientElement const* const&)' extern
/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.3.1/../../../../powerpc64-unknown-linux-gnu/bin/ld: .obj/release-shared/SVGRadialGradientElement.o(.text+0xdd8): sibling call optimization to `WebCore::String::~String()' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `WebCore::String::~String()' extern


Reproducible: Always




Portage 2.1.4.5 (default-linux/ppc/ppc64/2007.0/64bit-userland/970/pmac, gcc-4.3.1, glibc-2.7-r2, 2.6.24-gentoo-r3.omega ppc64)
=================================================================
System uname: 2.6.24-gentoo-r3.omega ppc64 PPC970MP, altivec supported
Timestamp of tree: Fri, 10 Oct 2008 12:19:01 +0000
distcc 2.18.3 powerpc64-unknown-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.4.4-r13, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.24
ACCEPT_KEYWORDS="ppc64"
CBUILD="powerpc64-unknown-linux-gnu"
CFLAGS="-O2 -mtune=G5 -mcpu=G5 -mabi=altivec -pipe -ggdb"
CHOST="powerpc64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/env /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /usr/shutdown"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -mtune=G5 -mcpu=G5 -mabi=altivec -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks metadata-transfer parallel-fetch sandbox sfperms splitdebug strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.blueyonder.co.uk ftp://mirrors.blueyonder.co.uk/mirrors/gentoo http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/ ftp://ftp.mirrorservice.org/sites/www.ibiblio.org/gentoo/ "
LANG="en_GB.UTF-8"
LINGUAS="en_GB"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
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="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/home/andrew/projects/gentoo/java-overlay /home/andrew/projects/gentoo/andys_overlay"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl addbookmarks alias alsa altivec asf autoreplace avahi bash-completion berkdb bluetooth bzip2 cairo caps cdda cddb cdparanoia cdr cjk cli connectionstatus contactnotes cracklib crypt cups curl cvs daap dbus dga dia djvu dri dts dv dvd dvdnav dvdr dvdread dvi effects emacs emf encode examples fame ffmpeg fftw firefox flac fortran fping gcj gdbm gif git gmp gnutls gpac gpgme gpm gtk hal hfs highlight history iconv idn ieee1394 imagemagick imap imlib ipod ipv6 irc isdnlog jack java java5 javascript jingle jpeg jpeg2k kde ladspa lame lapack latex lcms libnotify live lzo mad matroska mbox midi mjpeg mmap mng mp2 mp3 mpeg mplayer mudflap musepack musicbrainz ncurses netmeeting network nls nntp nowlistening nptl nptlonly nsplugin ogg openal openexr opengl openmp optimisememory oss pam pcre pdf perl plotutils png pnm pop postscript ppc64 ppds pppd python qt qt3 qt4 quicktime readline reflection rtc sasl sdl session shout slp smime smp sms smtp snmp sox speex spell spl sqlite ssl statistics stream subtitles subversion svg syslog t1lib tcpd tetex texteffect tga theora threads tiff translator truetype unicode usb v4l2 vcd visualization vorbis vram webpresence wmf x264 xanim xattr xchattext xcomposite xine xinerama xml xorg xscreensaver xv xvid xvmc yahoo zeroconf 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 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB" USERLAND="GNU" VIDEO_CARDS="nv fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Andrew John Hughes 2008-10-14 09:05:39 UTC
Created attachment 168382 [details]
Build log
Comment 2 SpanKY gentoo-dev 2008-10-23 05:44:52 UTC
since the ppc64 toolchain sucks, this probably needs to be worked around by appending the toc flags mentioned in the log in the ebuild
Comment 3 Stefan Nürnberger 2008-10-23 13:45:10 UTC
Created attachment 169568 [details]
updated ebuild

Confirmed. Same problem here.
Changed the ebuild to include the -mminimal-toc flag. Had to add a src_unpack section since the qt build uses the flags from qmake. This works for me on ppc64. The -fno-optimize-sibling-calls flag did not work, however.
Comment 4 SpanKY gentoo-dev 2008-10-25 21:03:02 UTC
thanks, ive added that to cvs for now ...

http://sources.gentoo.org/x11-libs/qt-webkit/qt-webkit-4.4.2.ebuild?r1=1.2&r2=1.3
Comment 5 SpanKY gentoo-dev 2008-11-03 05:53:49 UTC
also had to commit this:
http://sources.gentoo.org/eclass/flag-o-matic.eclass?r1=1.125&r2=1.126
Comment 6 Brent Baude (RETIRED) gentoo-dev 2009-04-15 14:31:00 UTC
ppc64 just upgrades to gcc-4.3.2-rX which should begin to resolve these TOC issues.  

@vapier - how do you want to proceed on this?
Comment 7 SpanKY gentoo-dev 2009-04-18 17:25:57 UTC
could you fill in the lower details ?  last i looked at how the ppc64/TOC stuff worked, it seems like it was broken by design and there wasnt really anything we could do about it other than me whine like a little ho.
Comment 8 Tom Gall (RETIRED) gentoo-dev 2009-07-05 20:09:24 UTC
I don't like to do this, but I am not able to recreate this bug.

I'm on gcc 4.3.3-r2. 

What's changed between gcc 4.1.2 and gcc 4.3.*?  I'm not the guy to ask. I'd recommend talking to the ppc toolchain folks, bergner or bje. I thought they had done some things to be a bit more intelligent about the TOC but that could be complete BS. 

Anyway, I'm going to mark this works for me. 

1) upgrade your gcc if you haven't already gotten to gcc 4.3.* 

2) make sure when you do the upgrade you follow the ugprade instructions on http://www.gentoo.org/doc/en/gcc-upgrading.xml

If you think things are still majorly hosed, please get on #gentoo-powerpc and get in my face. I don't want to see these class of errors and want to get to the bottom of it.
Comment 9 Tom Gall (RETIRED) gentoo-dev 2009-07-05 20:10:46 UTC
sticking a fork in it...  I don't like the resolution anymore than you do, I'd like to see a root cause. 
Comment 10 Andreas Thalhammer 2010-03-09 16:46:51 UTC
Hi!

I hate to do this, since my problem isn't at all related to x11-libs/qt-webkit, but I get a very similar error message:

--- START ---
Linking CXX executable kstars                                                                                                             
/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.3.4/../../../../powerpc64-unknown-linux-gnu/bin/ld: CMakeFiles/kstars.dir/skyobjects/starobject.o(.text+0x18b0): sibling call optimization to `qStringComparisonHelper(QString const&, char const*)' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `qStringComparisonHelper(QString const&, char const*)' extern
--- zap out ---
 (here come a dozen of the same message, with different ".text+0xXXXX" values)
--- zap in ---
/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.3.4/../../../../powerpc64-unknown-linux-gnu/bin/ld: final link failed: Bad value
collect2: ld gab 1 als Ende-Status zurück
make[2]: *** [kstars/kstars/kstars] Fehler 1
make[1]: *** [kstars/kstars/CMakeFiles/kstars.dir/all] Fehler 2
make: *** [all] Fehler 2
 * ERROR: kde-base/kstars-4.3.3 failed:
 *   Make failed!
 *
 * Call stack:
 *     ebuild.sh, line   54:  Called src_compile
 *   environment, line 4147:  Called kde4-meta_src_compile
 *   environment, line 3241:  Called kde4-base_src_compile
 *   environment, line 2921:  Called cmake-utils_src_compile
 *   environment, line 1088:  Called _execute_optionaly 'src_compile'
 *   environment, line  523:  Called enable_cmake-utils_src_compile
 *   environment, line 1463:  Called cmake-utils_src_make
 *   environment, line 1107:  Called die
 * The specific snippet of code:
 *           emake "$@" || die "Make failed!";
 *
 * If you need support, post the output of 'emerge --info =kde-base/kstars-4.3.3',
 * the complete build log and the output of 'emerge -pqv =kde-base/kstars-4.3.3'.
 * The complete build log is located at '/var/log/portage/kde-base:kstars-4.3.3:20100309-134747.log'.
 * The ebuild environment file is located at '/var/tmp/portage/kde-base/kstars-4.3.3/temp/environment'.
 * S: '/var/tmp/portage/kde-base/kstars-4.3.3/work/kstars-4.3.3'

>>> Failed to emerge kde-base/kstars-4.3.3, Log file:

>>>  '/var/log/portage/kde-base:kstars-4.3.3:20100309-134747.log'
--- END ---

The same happens when I try to emerge kmail.

--- START ---
# emerge -DuvN world
Calculating dependencies... done!
[ebuild  N    ] kde-base/kstars-4.3.3  USE="handbook (-aqua) -debug -fits -indi (-kdeenablefinal) (-kdeprefix)" 0 kB
[ebuild  NS   ] kde-base/kdeedu-meta-4.3.3-r1 [3.5.10] USE="(-aqua) (-kdeprefix)" 0 kB
[ebuild  N    ] kde-base/kmail-4.3.3  USE="handbook kontact semantic-desktop (-aqua) -debug (-kdeenablefinal) (-kdeprefix)" 0 kB
[ebuild  NS   ] kde-base/kdepim-meta-4.3.3 [3.5.10] USE="(-aqua) (-kdeprefix)" 0 kB
[ebuild  NS   ] kde-base/kde-meta-4.3.3 [3.5.10] USE="nls -accessibility (-aqua) (-kdeprefix)" 0 kB

Total: 5 packages (2 new, 3 in new slots), Size of downloads: 0 kB
--- END ---


Other stuff like doing a revdep-rebuild on media-libs/jasper and media-video/transcode compiled just fine.

The gcc version is: sys-devel/gcc-4.3.4, # LC_ALL="C" gcc -v
--- OUTPUT START ---
Using built-in specs.
Target: powerpc64-unknown-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-4.3.4/work/gcc-4.3.4/configure --prefix=/usr --bindir=/usr/powerpc64-unknown-linux-gnu/gcc-bin/4.3.4 --includedir=/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.3.4/include --datadir=/usr/share/gcc-data/powerpc64-unknown-linux-gnu/4.3.4 --mandir=/usr/share/gcc-data/powerpc64-unknown-linux-gnu/4.3.4/man --infodir=/usr/share/gcc-data/powerpc64-unknown-linux-gnu/4.3.4/info --with-gxx-include-dir=/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.3.4/include/g++-v4 --host=powerpc64-unknown-linux-gnu --build=powerpc64-unknown-linux-gnu --enable-altivec --disable-fixed-point --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp --enable-libgomp --disable-libgcj --enable-languages=c,c++,treelang,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.3.4 p1.1, pie-10.1.5'
Thread model: posix
gcc version 4.3.4 (Gentoo 4.3.4 p1.1, pie-10.1.5)
--- OUTPUT END ---


Should I open a new bug for this?
Do you need any logs? Which ones?
Should I try something (like re-emerging gcc ???) to fix this?

Thanks,
Andreas.
Comment 11 Andreas Thalhammer 2010-03-10 22:41:40 UTC
Never mind. My KMail issue became bug #308903