qt-gui-4.5.0 does not compile on the PPC64 arch. Here is the last part of the output. A more complete version is attached. /usr/lib/gcc/powerpc64-unknown-linux-gnu/4.3.2/../../../../powerpc64-unknown-linux-gnu/bin/ld: .obj/release-shared/qcompleter.o(.text+0x9308): sibling call optimization to `QVector<int>::realloc(int, int)' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `QVector<int>::realloc(int, int)' extern /usr/lib/gcc/powerpc64-unknown-linux-gnu/4.3.2/../../../../powerpc64-unknown-linux-gnu/bin/ld: .obj/release-shared/qcompleter.o(.text+0x9568): sibling call optimization to `QList<QString>::free(QListData::Data*)' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `QList<QString>::free(QListData::Data*)' extern /usr/lib/gcc/powerpc64-unknown-linux-gnu/4.3.2/../../../../powerpc64-unknown-linux-gnu/bin/ld: .obj/release-shared/qcompleter.o(.text+0xa16c): sibling call optimization to `QString::~QString()' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `QString::~QString()' extern /usr/lib/gcc/powerpc64-unknown-linux-gnu/4.3.2/../../../../powerpc64-unknown-linux-gnu/bin/ld: final link failed: Bad value collect2: ld returned 1 exit status make: *** [../../lib/libQtGui.so.4.5.0] Error 1 /usr/libexec/paludis/utils/emake: emake returned error 2 Reproducible: Always Steps to Reproduce: 1. compile qt-gui on the ppc64 arch 2. 3.
Created attachment 184297 [details] compile output
Please post your "emerge --info" as well.
Looking at this bug and on bug #259399 , I think we should drop ppc64 keywords from qt-4.5 packages until compilation issues are fixed by upstream. It would be nice thought to inform upstream about ppc64 issues, by taking those bugs on Qt bugzilla Christian, since you are quite active on this, could you take those bugs upstream? http://www.qtsoftware.com/developer/task-tracker Thank you
paludis --info paludis 0.32.0_alpha1 Paludis build information: Compiler: CXX: powerpc64-unknown-linux-gnu-g++ 4.3.1 CXXFLAGS: -O2 -pipe -mcpu=970 -mtune=970 -mabi=altivec LDFLAGS: -Wl,-O1 DATE: 2008-12-01T15:23:17+0100 Libraries: C++ Library: GNU libstdc++ 20080606 Reduced Privs: reduced_uid: 101 reduced_uid->name: paludisbuild reduced_uid->dir: /var/tmp/paludis reduced_gid: 407 reduced_gid->name: paludisbuild Paths: DATADIR: /usr/share LIBDIR: /usr/lib64 LIBEXECDIR: /usr/libexec SYSCONFDIR: /etc PYTHONINSTALLDIR: RUBYINSTALLDIR: Package information: app-admin/eselect-compiler: (none) app-shells/bash: 3.2_p39 dev-java/java-config: 2.1.6-r1 dev-lang/python: 2.4.4-r13 2.5.2-r7 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: (none) dev-util/cmake: 2.6.2-r1 dev-util/confcache: (none) sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.4.3-r1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.63 sys-devel/automake: 1.10.2 1.6.3 1.7.9-r1 1.9.6-r2 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.27-r2 (for sys-kernel/linux-headers::installed)
(In reply to comment #3) > Looking at this bug and on bug #259399 , I think we should drop ppc64 keywords > from qt-4.5 packages until compilation issues are fixed by upstream. I guess that would be a good idea, if we can not fix qt-gui quickly. > > It would be nice thought to inform upstream about ppc64 issues, by taking > those bugs on Qt bugzilla > The qt-core issue is already reported (and a patch exists), but I will report the qt-gui problems. Are we sure that it is not caused by the PPC64 toolchain?
Yes but I am quite sure that if we manage to fix this issue, the next qt package will fail as well. From what I get from the logs, this seems to be an upstream issue . In any case ppc64 hears is CC on this bug, so they can provide more info if needed. But it wouldn't hurt to send this bug upstream in the meantime :) When you report it upstream, please add the upstream url here . Many thanks
I just got a reply from qtsoftware: Thank you for reporting this issue. We do not however support compiling on the PowerPC 64 bit platform for Linux. This is a community supported platform. Maybe you should follow the outputs suggestion and use compile option -mminimal-toc or -fno-optimize-sibling-calls. I can not test it right now, so if anyone wants to run a test compile...
ppc64 is onboard now, will test a few things including the normal -minimal-toc hack
I am not able to reproduce this error. I have emerged: drake qt-gui # equery l qt- | grep 4.5 x11-libs/qt-core-4.5.0 x11-libs/qt-dbus-4.5.0 x11-libs/qt-gui-4.5.0 x11-libs/qt-qt3support-4.5.0 x11-libs/qt-script-4.5.0 x11-libs/qt-sql-4.5.0 drake qt-gui # drake qt-gui # emerge --info Portage 2.1.6.7 (default/linux/powerpc/ppc64/2008.0/64bit-userland/desktop, gcc-4.1.2, glibc-2.7-r2, 2.6.25-gentoo-r7 ppc64) ================================================================= System uname: Linux-2.6.25-gentoo-r7-ppc64-PPC970MP,_altivec_supported-with-glibc2.3 Timestamp of tree: Mon, 16 Mar 2009 20:20:01 +0000 app-shells/bash: 3.2_p39 dev-java/java-config: 1.3.7-r1, 2.1.6-r1 dev-lang/python: 2.4.4-r14, 2.5.2-r7 dev-python/pycrypto: 2.0.1-r8 dev-util/cmake: 2.6.2-r1 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.3.2 sys-devel/autoconf: 2.13, 2.63 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2 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.27-r2 ACCEPT_KEYWORDS="ppc64" CBUILD="powerpc64-unknown-linux-gnu" CFLAGS="-O2 -pipe -mcpu=970 -mtune=970" 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/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/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 /etc/udev/rules.d" CXXFLAGS="-O2 -pipe -mcpu=970 -mtune=970" DISTDIR="/usr/portage/distfiles" FEATURES="cvs digest distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LDFLAGS="-Wl,-O1" MAKEOPTS="-j10" 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="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://butthead/gentoo-portage" USE="X acl alsa apache2 berkdb bluetooth branding bzip2 cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode esd evo fam firefox fortran ftp gdbm gif glib gnome gpm gstreamer gtk hal ibm iconv imap ipv6 isdnlog jpeg kde ldap libnotify mad midi mikmod mp3 mpeg msn mudflap mysql ncurses nls nptl nptlonly ogg opengl openmp pam pcre pdf perl png ppc64 ppds pppd python qt3 qt3support qt4 quicktime readline reflection samba sdl session spell spl ssl startup-notification svg sysfs tcl tcpd tiff truetype unicode usb vorbis xml xorg xulrunner xv 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 evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="radeon" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY drake qt-gui #
I am not using gcc-4.3.1; very likely the problem. will ask tgall/drwho to look at this.
Created attachment 185576 [details] qt-4.5.0-ppc64.patch this solves the issue. stolen from http://osdir.com/ml/fedora-extras-commits/2009-03/msg00924.html
what? why are there two bugs? *** This bug has been marked as a duplicate of bug 259399 ***
damn it.. shouldn't do this bug reading this late in the night.. this are two different bugs. I mixed up the tabs ^^ reopening...
as you seem to use paludis a temporal workaround would be adding these lines to your bashrc: if [[ "${CATEGORY}/${PN}" == "x11-libs/qt-gui" ]] ; then CFLAGS="${CFLAGS} -mminimal-toc" CXXFLAGS="${CXXFLAGS} -mminimal-toc" fi
I am kinda confused here . Is the second attachment related to this buggie? Cause the workaround you proposed on the last commit doesnt seem related to the patch you attached. I might be mistaken of course If this is a CFLAGS issue i assume i can pass this fix on qt4-build eclass I just need a verification of what workaround actually fixes the problem
Does "-mminimal-toc" on CFLAGS solve this issue for gcc-4.3 users?Can somebody verify this? When I have a verification I will fix this on eclass Thanks
I just ran into the same problem with qt-gui 4.5.2 and GCC 4.4.1. # emerge --info Portage 2.2_rc38 (default/linux/powerpc/ppc64/10.0/64bit-userland/desktop, gcc-4.4.1, glibc-2.9_p20081201-r2, 2.6.30-gentoo-r1 ppc64) ================================================================= System uname: Linux-2.6.30-gentoo-r1-ppc64-Cell_Broadband_Engine,_altivec_supported-with-gentoo-2.1.3 Timestamp of tree: Tue, 11 Aug 2009 12:00:21 +0000 distcc 3.1 powerpc64-unknown-linux-gnu [disabled] app-shells/bash: 4.0_p28 dev-lang/python: 2.6.2-r1 sys-apps/baselayout: 2.1.3 sys-apps/openrc: 0.5.0-r2 sys-apps/sandbox: 2.0 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.5, 1.6.3, 1.7.9-r1, 1.9.6-r2, 1.10.2, 1.11 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.29 ACCEPT_KEYWORDS="ppc64 ~ppc64" CBUILD="powerpc64-unknown-linux-gnu" CFLAGS="-O2 -pipe -mcpu=cell -mabi=altivec" CHOST="powerpc64-unknown-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -pipe -mcpu=cell -mabi=altivec" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="en_CA.utf8" LC_ALL="en_CA.utf8" LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed" MAKEOPTS="-j2" 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="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl alac alsa altivec berkdb bluetooth branding bzip2 cairo cblas cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode evo fam firefox flac fortran gdbm gif gnome gpm gsl gstreamer gtk hal ibm iconv ipv6 isdnlog jpeg kde lame lapack ldap libnotify mad mikmod mp3 mp4 mpeg mudflap ncurses nls nptl nptlonly ogg opengl openmp pam pcre pdf perl png ppc64 ppds pppd ps3 pulseaudio python qt3support qt4 quicktime readline reflection sdl session spell spl ssl startup-notification subversion svg sysfs tcpd tiff truetype unicode usb vorbis wavpack wifi x264 xml xorg xscreensaver 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 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="evdev mouse keyboard joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY I'm gonna check if -mminimal-toc solves this.
I confirm that qt-gui-4.5.2-r2 builds successfully with GCC 4.4.1 and -mminimal-toc.
@ppc64 team Can you please verify that -minimal-toc flag is an acceptable solution so we can adjust qt4-build eclass and proceed with Qt stabilization on ppc64 arch? Thanks
ppc64 team: ping :D
Patch adding -mminimal-toc on ppc64 added, as requested by ppc64 arch team. Closing, thanks a lot :)