Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 261632 - x11-libs/qt-gui-4.5.0 compile error on ppc64
Summary: x11-libs/qt-gui-4.5.0 compile error on ppc64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: PPC64 Linux
: High normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on: 259399
Blocks: 276852
  Show dependency tree
 
Reported: 2009-03-08 00:18 UTC by Christian Schmitt
Modified: 2009-11-09 19:37 UTC (History)
2 users (show)

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


Attachments
compile output (qt-gui-4.5.0-error.txt,22.48 KB, text/plain)
2009-03-08 00:19 UTC, Christian Schmitt
Details
qt-4.5.0-ppc64.patch (qt-4.5.0-ppc64.patch,617 bytes, text/plain)
2009-03-19 21:48 UTC, Markus Rothe (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Schmitt 2009-03-08 00:18:10 UTC
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.
Comment 1 Christian Schmitt 2009-03-08 00:19:35 UTC
Created attachment 184297 [details]
compile output
Comment 2 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-03-08 00:25:07 UTC
Please post your "emerge --info" as well.
Comment 3 Markos Chandras (RETIRED) gentoo-dev 2009-03-08 00:31:39 UTC
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
Comment 4 Christian Schmitt 2009-03-08 00:34:27 UTC
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)
Comment 5 Christian Schmitt 2009-03-08 00:39:44 UTC
(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? 

Comment 6 Markos Chandras (RETIRED) gentoo-dev 2009-03-08 00:44:59 UTC
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
Comment 7 Christian Schmitt 2009-03-11 07:30:09 UTC
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...
Comment 8 Brent Baude (RETIRED) gentoo-dev 2009-03-16 14:05:32 UTC
ppc64 is onboard now, will test a few things including the normal -minimal-toc hack
Comment 9 Brent Baude (RETIRED) gentoo-dev 2009-03-16 23:14:46 UTC
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 # 
Comment 10 Brent Baude (RETIRED) gentoo-dev 2009-03-17 16:26:15 UTC
I am not using gcc-4.3.1; very likely the problem.  will ask tgall/drwho to look at this.
Comment 11 Markus Rothe (RETIRED) gentoo-dev 2009-03-19 21:48:38 UTC
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
Comment 12 Markus Rothe (RETIRED) gentoo-dev 2009-03-19 21:49:51 UTC
what? why are there two bugs?

*** This bug has been marked as a duplicate of bug 259399 ***
Comment 13 Markus Rothe (RETIRED) gentoo-dev 2009-03-19 21:51:47 UTC
damn it.. shouldn't do this bug reading this late in the night.. this are two different bugs. I mixed up the tabs ^^ reopening...
Comment 14 Markus Rothe (RETIRED) gentoo-dev 2009-03-23 10:27:20 UTC
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
Comment 15 Markos Chandras (RETIRED) gentoo-dev 2009-03-23 10:40:49 UTC
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
Comment 16 Markos Chandras (RETIRED) gentoo-dev 2009-03-25 18:30:07 UTC
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
Comment 17 Jean-Francis Roy 2009-08-12 15:52:22 UTC
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.
Comment 18 Jean-Francis Roy 2009-08-12 19:25:20 UTC
I confirm that qt-gui-4.5.2-r2 builds successfully with GCC 4.4.1 and -mminimal-toc.
Comment 19 Markos Chandras (RETIRED) gentoo-dev 2009-08-16 13:37:38 UTC
@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
Comment 20 Alex Alexander (RETIRED) gentoo-dev 2009-08-30 01:26:54 UTC
ppc64 team: ping :D
Comment 21 Dominik Kapusta (RETIRED) gentoo-dev 2009-11-09 19:37:53 UTC
Patch adding -mminimal-toc on ppc64 added, as requested by ppc64 arch team.
Closing, thanks a lot :)