Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 366907 - x11-libs/qt-gui-4.7.2 fails to compile on AMD E-350
Summary: x11-libs/qt-gui-4.7.2 fails to compile on AMD E-350
Status: RESOLVED DUPLICATE of bug 336618
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-11 17:45 UTC by Jürgen Pierau
Modified: 2011-12-12 13:48 UTC (History)
0 users

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


Attachments
Log of failed build (x11-libs%3Aqt-gui-4.7.2%3A20110511-155524.log,28.16 KB, text/plain)
2011-05-13 14:58 UTC, Jürgen Pierau
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jürgen Pierau 2011-05-11 17:45:52 UTC
Compile fails on some 3dnow related stuff:

[...]
compiling[mmx] painting/qdrawhelper_mmx.cpp
compiling[mmx3dnow] painting/qdrawhelper_mmx3dnow.cpp
compiling[sse3dnow] painting/qdrawhelper_sse3dnow.cpp
painting/qdrawhelper_mmx3dnow.cpp: In static member function 'static void QMMX3DNOWIntrinsics::end()':
painting/qdrawhelper_mmx3dnow.cpp:54: error: '_m_femms' was not declared in this scope
painting/qdrawhelper_sse3dnow.cpp: In static member function 'static void QSSE3DNOWIntrinsics::end()':
painting/qdrawhelper_sse3dnow.cpp:54: error: '_m_femms' was not declared in this scope
make: *** [.obj/release-shared/qdrawhelper_mmx3dnow.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [.obj/release-shared/qdrawhelper_sse3dnow.o] Error 1
emake failed
[...]

Possible reason: The configuration is built with 3Dnow support which this processor does not have. The rest of system/world was built with -3dnow and CFLAGS set to -mno-3dnow just to be sure. This is the first amd64 core not to have 3dnow.

Reproducible: Always

Steps to Reproduce:
emerge -vu1 qt-gui



Portage 2.1.9.42 (default/linux/amd64/10.0, gcc-4.4.5, libc-0-r0, 2.6.37-gentoo-r4 x86_64)
=================================================================
System uname: Linux-2.6.37-gentoo-r4-x86_64-AMD_E-350_Processor-with-gentoo-2.0.2
Timestamp of tree: Wed, 11 May 2011 15:45:01 +0000
app-shells/bash:     4.1_p9
dev-java/java-config: 2.1.11-r3
dev-lang/python:     2.7.1-r1, 3.1.3-r1
dev-util/cmake:      2.8.4
sys-apps/baselayout: 2.0.2
sys-apps/openrc:     0.8.2-r1
sys-apps/sandbox:    2.4
sys-devel/autoconf:  2.13, 2.65-r1
sys-devel/automake:  1.9.6-r3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.5
sys-devel/gcc-config: 1.4.1-r1
sys-devel/libtool:   2.2.10
sys-devel/make:      3.81-r2
sys-kernel/linux-headers: 2.6.36.1
sys-libs/glibc:      2.11.3
virtual/os-headers:  0
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA AdobeFlash-10.1 dlj* PUEL"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-g -O2 -march=native -pipe -msse -msse2 -msse3 -mssse3 -msse4a -mno-3dnow -mfpmath=sse"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-g -O2 -march=native -pipe -msse -msse2 -msse3 -mssse3 -msse4a -mno-3dnow -mfpmath=sse"
DISTDIR="/var/distfiles"
FEATURES="assume-digests binpkg-logs buildpkg distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://gentoo.modulix.net/gentoo/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en"
MAKEOPTS="-j3"
PKGDIR="/var/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.de.gentoo.org/gentoo-portage"
USE="X acl acpi alsa amd64 apache2 berkdb bzip2 cairo cli cracklib crypt cxx dbus declarative device-mapper dri drm dvb dvd exif ffmpeg fftw fontconfig fontforge fortran ftp gd gdbm gif gphoto2 gpm gstreamer iconv imagemagick imap joystick jpeg kde lame libmpeg2 mmx mng modules mp3 mudflap multilib ncurses netpbm nls nptl nptlonly opengl openmp pam pcre pdf pdo perl png policykit postgres pppd pulseaudio python qt3support qt4 readline samba sdl server session solver spamassassin sql sqlite sqlite3 sse sse2 ssl ssse3 svg sysfs tcpd theora tiff timidity truetype unicode unzip usb v4l v4l2 vaapi vhosts vorbis webkit x264 xine xml xorg xpm xscreensaver xv xvid xvmc zip zlib" ALSA_CARDS="hda" 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="access auth auth_dbm auth_anon auth_basic auth_digest authn_file authz_host authz_user alias filter file-cache echo charset-lite cache disk-cache mem-cache ext-filter case_filter case-filter-in deflate mime-magic cern-meta expires headers usertrack proxy proxy_connect proxy_ftp proxy_http info include cgi cgid dav dav-fs vhost_alias speling rewrite log_config logio env setenvif mime status autoindex asis negotiation dir imap actions userdir so" CAMERAS="canon konica konica_qm150" 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 ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="none" LINGUAS="en" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fglrx 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:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Jürgen Pierau 2011-05-11 17:48:48 UTC
Removing -mno-3dnow from CFLAGS allows compilation, but I'm not sure I want to run this.
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2011-05-13 00:14:08 UTC
Please attach the entire build log.
Comment 3 Jürgen Pierau 2011-05-13 14:58:15 UTC
Created attachment 273075 [details]
Log of failed build
Comment 4 Jürgen Pierau 2011-05-13 15:11:17 UTC
FYI gcc 4.4.5's -march=native seems not not correctly identify the instruction sets. My first Gentoo installation on this system failed to survive the bootup to the default runlevel with some unknown instruction exceptions (I think it was in code that wanted to test different memcopy methods), hence the -mno-3dnow.

There is a closed QT bug that fits the problem:
http://bugreports.qt.nokia.com/browse/QTBUG-18688

It seems compiling QT with 3dnow is not a problem, because QT uses runtime cpu detection (let's assume for the moment that this detection algorithm is better than that of gcc). However, other software is not so - enlightened. Some way of deliberately choosing not to use 3dnow in qt-gui without removing -mno-3dnow for all packages would be greatly appreciated.
Comment 5 Fernando 2011-07-20 13:49:00 UTC
I understand that the reported bug is that features of your processor is incorrectly detected, and so it is a bug from QT, may be not exactly that of http://bugreports.qt.nokia.com/browse/QTBUG-18688, that seems to be a problem on the ebuild.
Comment 6 Davide Pesavento (RETIRED) gentoo-dev 2011-11-20 14:47:44 UTC
The root cause is probably bug #336618
Comment 7 Davide Pesavento (RETIRED) gentoo-dev 2011-12-12 13:48:48 UTC
Indeed, your safest option is to keep -mno-3dnow in your C(XX)FLAGS, at least until gcc's -march=native gets fixed for your CPU.

On the other hand, qt4-build.eclass doesn't pass user's CFLAGS to configure, so we have a bug on our side too, which is #336618.

*** This bug has been marked as a duplicate of bug 336618 ***