Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 559802 - dev-qt/qtcore:5 fails to emerge on ia64 (qatomic_ia64.h:1038:6: error: prototype for ‘bool QBasicAtomicOps<size>::testAndSetRelaxed(T&, T, T)’ does not match any in class ‘QBasicAtomicOps<size>'
Summary: dev-qt/qtcore:5 fails to emerge on ia64 (qatomic_ia64.h:1038:6: error: protot...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: IA64 Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL: https://codereview.qt-project.org/125458
Whiteboard:
Keywords: PATCH, UPSTREAM
Depends on:
Blocks:
 
Reported: 2015-09-06 18:05 UTC by Émeric Maschino
Modified: 2015-10-20 20:41 UTC (History)
1 user (show)

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


Attachments
build.log (build.log,279.90 KB, text/x-log)
2015-09-06 18:05 UTC, Émeric Maschino
Details
environment (environment,101.35 KB, text/plain)
2015-09-06 18:07 UTC, Émeric Maschino
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Émeric Maschino 2015-09-06 18:05:53 UTC
Created attachment 411192 [details]
build.log

Hi,

I know, dev-qt/qtcore:5 isn't keyworded on ia64. I don't know whether it's not keyworded because nobody gave it a try before or because they're known issues on ia64. In case nobody tries it before, here are some errors reported from build.log:

* It seems that gold is used as a linker. But gold isn't available on ia64:

ia64-unknown-linux-gnu-g++: error: unrecognized command line option ‘-fuse-ld=gold'

* Symbolic function binding is disabled. They're probably other architectures beside ia64:

bsymbolic_functions.c:2:2: error: #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."

* Last but not least, the error that's currently preventing dev-qt/qt-core:5 from emerge successfully:

../../include/QtCore/../../src/corelib/arch/qatomic_ia64.h:1038:6: error: prototype for ‘bool QBasicAtomicOps<size>::testAndSetRelaxed(T&, T, T)’ does not match any in class ‘QBasicAtomicOps<size>’

If it's _expected_ that dev-qt/qt-core:5 doesn't emerge successfully on ia64, just ignore this bug report. Otherwise, tell me how I can help further.

Thanks,

     Émeric
Comment 1 Émeric Maschino 2015-09-06 18:07:10 UTC
Created attachment 411194 [details]
environment
Comment 2 Émeric Maschino 2015-09-06 18:08:06 UTC
emerge --info output:

Portage 2.2.20.1 (python 3.4.1-final-0, default/linux/ia64/13.0/desktop/gnome/systemd, gcc-4.7.4, glibc-2.20-r2, 4.0.5-gentoo ia64)
=================================================================
System uname: Linux-4.0.5-gentoo-ia64-Madison-with-gentoo-2.2
KiB Mem:    25052544 total,  16056256 free
KiB Swap:     524224 total,    524224 free
Timestamp of repository gentoo: Sun, 06 Sep 2015 16:30:01 +0000
sh bash 4.3_p39
ld GNU ld (Gentoo 2.24 p1.4) 2.24
app-shells/bash:          4.3_p39::gentoo
dev-lang/perl:            5.20.2::gentoo
dev-lang/python:          2.7.9-r1::gentoo, 3.4.1::gentoo
dev-util/cmake:           2.8.12.2-r1::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.17::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.24-r3::gentoo
sys-devel/gcc:            4.5.4::gentoo, 4.6.4::gentoo, 4.7.4::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 3.18::gentoo (virtual/os-headers)
sys-libs/glibc:           2.20-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

my_ebuilds
    location: /var/lib/layman/my_ebuilds
    masters: gentoo
    priority: 0

ACCEPT_KEYWORDS="ia64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="ia64-unknown-linux-gnu"
CFLAGS="-O2 -pipe -mtune=itanium2"
CHOST="ia64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -mtune=itanium2"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe -mtune=itanium2"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe -mtune=itanium2"
GENTOO_MIRRORS="ftp://mirrors.linuxant.fr/distfiles.gentoo.org/"
LANG="fr_FR.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa berkdb branding bzip2 cairo cdda cdr cli colord cracklib crypt cups cxx dbus dri dts dvdr eds encode evo exif fam firefox flac fortran gdbm gif glamor gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk ia64 iconv introspection ipv6 jpeg lcms ldap libnotify libsecret mad mng modules mp3 mp4 mpeg nautilus ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt3support qt4 readline sdl session spell ssl startup-notification svg systemd tcpd tiff tracker truetype udev udisks unicode upower usb vorbis wxwidgets xcb xml xv xvid zlib" ALSA_CARDS="fm801" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 sheets stage tables krita karbon braindump author" CAMERAS="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 ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="fr" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="fbdev modesetting 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:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 3 Émeric Maschino 2015-09-06 18:10:47 UTC
emerge -pqv output:

[ebuild  NS   ] dev-qt/qtcore-5.4.2 [4.8.6-r2] USE="systemd -debug -icu {-test}"
Comment 4 Davide Pesavento (RETIRED) gentoo-dev 2015-09-06 21:38:29 UTC
(In reply to Émeric Maschino from comment #0)
> I know, dev-qt/qtcore:5 isn't keyworded on ia64. I don't know whether it's
> not keyworded because nobody gave it a try before or because they're known
> issues on ia64. In case nobody tries it before, here are some errors
> reported from build.log:

First of all, thanks for trying and for the nice bug report.

> 
> * It seems that gold is used as a linker. But gold isn't available on ia64:
> 
> ia64-unknown-linux-gnu-g++: error: unrecognized command line option
> ‘-fuse-ld=gold'

IIRC this was caused by improper detection of -fuse-ld=gold support, and was fixed in a later branch... can you try 5.5.0 from the qt overlay?

> 
> * Symbolic function binding is disabled. They're probably other
> architectures beside ia64:
> 
> bsymbolic_functions.c:2:2: error: #error "Symbolic function binding on this
> architecture may be broken, disabling it (see QTBUG-36129)."

This is expected. IIRC they disabled it because some signal/slot magic paired with PMF is incompatible with symbolic functions on most arches.

> 
> * Last but not least, the error that's currently preventing dev-qt/qt-core:5
> from emerge successfully:
> 
> ../../include/QtCore/../../src/corelib/arch/qatomic_ia64.h:1038:6: error:
> prototype for ‘bool QBasicAtomicOps<size>::testAndSetRelaxed(T&, T, T)’ does
> not match any in class ‘QBasicAtomicOps<size>’
> 

I guess upstream hasn't tried to build on ia64 in a very long time :-/

> If it's _expected_ that dev-qt/qt-core:5 doesn't emerge successfully on
> ia64, just ignore this bug report. Otherwise, tell me how I can help further.

Well the last error appears to be a genuine upstream bug. What you could do is investigate it, create a patch, and submit it upstream via gerrit (https://codereview.qt-project.org/)
Comment 5 Émeric Maschino 2015-09-09 18:44:28 UTC
(In reply to Davide Pesavento from comment #4)
> > * Last but not least, the error that's currently preventing dev-qt/qt-core:5
> > from emerge successfully:
> > 
> > ../../include/QtCore/../../src/corelib/arch/qatomic_ia64.h:1038:6: error:
> > prototype for ‘bool QBasicAtomicOps<size>::testAndSetRelaxed(T&, T, T)’ does
> > not match any in class ‘QBasicAtomicOps<size>’
> > 
> 
> I guess upstream hasn't tried to build on ia64 in a very long time :-/
> 
> > If it's _expected_ that dev-qt/qt-core:5 doesn't emerge successfully on
> > ia64, just ignore this bug report. Otherwise, tell me how I can help further.
> 
> Well the last error appears to be a genuine upstream bug. What you could do
> is investigate it, create a patch, and submit it upstream via gerrit
> (https://codereview.qt-project.org/)

Done: https://bugreports.qt.io/browse/QTBUG-48197

     Émeric
Comment 6 Émeric Maschino 2015-09-09 21:33:00 UTC
(In reply to Émeric Maschino from comment #5)
> Done: https://bugreports.qt.io/browse/QTBUG-48197

Updated, the Gerrit way ;-)

https://codereview.qt-project.org/#/c/125458/

     Émeric
Comment 7 Davide Pesavento (RETIRED) gentoo-dev 2015-09-11 10:11:51 UTC
Thanks!
Comment 8 Michael Palimaka (kensington) gentoo-dev 2015-10-16 18:53:13 UTC
This was accepted upstream. Are we going to backport it?
Comment 9 Davide Pesavento (RETIRED) gentoo-dev 2015-10-16 19:23:00 UTC
Backport to what? isn't the patch already in 5.5.1?
Comment 10 Michael Palimaka (kensington) gentoo-dev 2015-10-17 13:56:56 UTC
My mistake, the changeid changed.
Comment 11 Michael Palimaka (kensington) gentoo-dev 2015-10-17 17:55:05 UTC
Thanks, this is fixed in 5.5.1.
Comment 12 Émeric Maschino 2015-10-19 23:27:42 UTC
(In reply to Michael Palimaka (kensington) from comment #11)
> Thanks, this is fixed in 5.5.1.

Well, while my patch was indeed accepted/merged upstream, I can tell you for sure that it's _not_ in qtcore-5.5.1 currently in portage tree! Build thus still fails exactly the same.

     Émeric
Comment 13 Davide Pesavento (RETIRED) gentoo-dev 2015-10-19 23:51:57 UTC
hmm.. apparently your patch was merged *after* 5.5.1 was branched from 5.5 (which happened an unusually long time before the 5.5.1 release).
We can definitely backport then.
Comment 14 Davide Pesavento (RETIRED) gentoo-dev 2015-10-20 01:30:53 UTC
Done, thanks.
Comment 15 Émeric Maschino 2015-10-20 20:41:13 UTC
(In reply to Davide Pesavento from comment #14)
> Done, thanks.

Thanks. BTW, I just got notification from [1] that the fix is present in 5.5.2/5.6.0. I can wait for 5.5.2 to enter portage tree, so don't worry with 5.5.1.

     Émeric


[1] https://bugreports.qt.io/browse/QTBUG-48197