Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 236558 - xorg-server-1.4.2 doesn't compile when x11-libs/pixman has USE=sse sse2
Summary: xorg-server-1.4.2 doesn't compile when x11-libs/pixman has USE=sse sse2
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Doug Goldstein (RETIRED)
URL:
Whiteboard:
Keywords:
: 256098 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-09-03 12:10 UTC by Ramana Kumar
Modified: 2009-03-24 12:53 UTC (History)
10 users (show)

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


Attachments
pixman patch (pixman.sse2use.patch,590 bytes, patch)
2009-03-17 04:53 UTC, Nick Fortino
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ramana Kumar 2008-09-03 12:10:31 UTC
when compiling xorg-server, the build failed with "unknown symbol pixman_have_sse". I was able to compile it by recompiling x11-libs/pixman with USE=-sse -sse2.

Reproducible: Always

Steps to Reproduce:
1. compile pixman with USE=sse see2
2. try to merge xorg-server

Actual Results:  
build fails with missing symbol

Expected Results:  
build to succeed
Comment 1 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2008-09-03 14:49:21 UTC
Please provide emerge --info. Thanks.
Comment 2 Ramana Kumar 2008-09-03 19:02:48 UTC
ramana@alice ~ % emerge --info
Portage 2.2_rc8 (default/linux/x86/2008.0, gcc-4.3.1, glibc-2.8_p20080602-r0, 2.6.26-tuxonice i686)
=================================================================
System uname: Linux-2.6.26-tuxonice-i686-Intel-R-_Pentium-R-_M_processor_2.00GHz-with-glibc2.0
Timestamp of tree: Wed, 03 Sep 2008 02:15:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7, 2.1.6-r1
dev-lang/python:     2.5.2-r7
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.2.5
sys-apps/sandbox:    1.2.18.1-r3
sys-devel/autoconf:  2.13, 2.62-r1
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.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.4
virtual/os-headers:  2.6.26
ACCEPT_KEYWORDS="x86 ~x86"
ALSA_CARDS="intel8x0 usb-audio"
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"
ARCH="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CCACHE_DIR="/var/tmp/ccache"
CCACHE_SIZE="3G"
CFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CLASSPATH="."
CLEAN_DELAY="2"
COLORFGBG="default;0"
COLORTERM="rxvt"
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/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CVS_RSH="ssh"
CXXFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer"
DISPLAY=":0.0"
DISTDIR="/usr/portage/distfiles"
EDITOR="/usr/bin/vim"
ELIBC="glibc"
EMERGE_DEFAULT_OPTS="--verbose"
EMERGE_WARNING_DELAY="10"
FEATURES="ccache distlocks parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch"
FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}""
GCC_SPECS=""
GDK_USE_XFT="1"
GENTOO_MIRRORS="ftp://ftp.ussg.iu.edu/pub/linux/gentoo"
GUILE_LOAD_PATH="/usr/share/guile/1.8"
HOME="/home/ramana"
HUSHLOGIN="FALSE"
IKARUS_LIBRARY_PATH="/home/ramana/vhost/mK-lib:/home/ramana/vhost/mK-lib:"
INFOPATH="/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.3.1/info"
INPUT_DEVICES="keyboard mouse synaptics"
JAVAC="/etc/java-config-2/current-system-vm/bin/javac"
JAVA_HOME="/etc/java-config-2/current-system-vm"
JDK_HOME="/etc/java-config-2/current-system-vm"
KDEDIRS="/usr:/usr/local:/usr/kde/3.5"
KERNEL="linux"
LADSPA_PATH="/usr/lib/ladspa"
LANG="en_AU.utf8"
LANGUAGE="en_AU.utf8"
LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text"
LC_ALL="en_AU.utf8"
LDFLAGS="-Wl,-O1"
LESS="-R -M --shift 5"
LESSOPEN="|lesspipe.sh %s"
LINGUAS="en en_US en_AU"
LOGNAME="ramana"
MAIL="/var/mail/ramana"
MANPATH="/etc/java-config-2/current-system-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/man:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/man:/usr/share/gcc-data/i686-pc-linux-gnu/4.3.1/man:/etc/java-config/system-vm/man/:/usr/lib/php5/man/:/usr/kde/3.5/share/man:/usr/qt/3/doc/man"
OLDPWD="/home/ramana"
OPENGL_PROFILE="xorg-x11"
PATH="/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.3.1:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/games/bin"
PKGDIR="/usr/portage/packages"
PKG_CONFIG_PATH="/usr/qt/3/lib/pkgconfig"
PORTAGE_ARCHLIST="ppc s390 amd64 x86 ppc64 x86-fbsd m68k arm sparc sh mips ia64 alpha hppa sparc-fbsd"
PORTAGE_BINHOST_CHUNKSIZE="3000"
PORTAGE_BIN_PATH="/usr/lib/portage/bin"
PORTAGE_CONFIGROOT="/"
PORTAGE_DEBUG="0"
PORTAGE_DEPCACHEDIR="/var/cache/edb/dep"
PORTAGE_ELOG_CLASSES="log warn error"
PORTAGE_ELOG_MAILFROM="portage@localhost"
PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}"
PORTAGE_ELOG_MAILURI="root"
PORTAGE_ELOG_SYSTEM="save_summary echo"
PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS="5"
PORTAGE_FETCH_RESUME_MIN_SIZE="350K"
PORTAGE_GID="250"
PORTAGE_INST_GID="0"
PORTAGE_INST_UID="0"
PORTAGE_PYM_PATH="/usr/lib/portage/pym"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_RSYNC_RETRIES="3"
PORTAGE_TMPDIR="/var/tmp"
PORTAGE_WORKDIR_MODE="0700"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/nouveau /usr/local/portage /usr/local/overlays/gentoo-lisp-overlay"
PWD="/home/ramana"
QMAKESPEC="linux-g++"
QTDIR="/usr/qt/3"
RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}""
ROOT="/"
ROOTPATH="/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.3.1:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin"
RPMDIR="/usr/portage/rpm"
RUBYOPT="-rauto_gem"
SGML_CATALOG_FILES="/etc/sgml/sgml-docbook.cat:/etc/sgml/openjade-1.3.2.cat:/etc/sgml/xml-docbook-4.2.cat:/etc/sgml/xml-docbook-4.3.cat:/etc/sgml/xml-docbook-4.4.cat:/etc/sgml/xml-docbook-4.1.2.cat:/etc/sgml/sgml-docbook-3.1.cat:/etc/sgml/sgml-lite.cat:/etc/sgml/dsssl-docbook-stylesheets.cat"
SHELL="/bin/zsh"
SHLVL="3"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
TERM="rxvt-unicode"
USE="X a52 aac accessibility acl acpi alsa ansi bash-completion berkdb bzip2 cairo ccache cdparanoia cdr cgi cli cracklib crypt cups dbus dhcp directfb divx dri dvd dvdr dvdread encode exif fam fastcgi fbcon ffmpeg firefox flac fluidsynth fontconfig fortran ftp gd gdbm gif glitz gphoto2 gpm graphics graphviz gs gtk iconv imagemagick imlib ipv6 isdnlog jack-tmpfs java javascript jpeg mad max-idx-128 midi mime mmxext mozdevelop mp3 mpeg mudflap ncurses new-clx nls nptl nptlonly nsplugin offensive ogg openal opengl openmp openssl oscar pam pcmcia pcre pdf perl plotutils pmu png postscript ppds pppd python qt3support qt4 quicktime readline real reflection regex reiserfs ruby samba science sdl session soup spell spl sse sse2 sse3 ssl svg sysfs tcpd theora tiff tk truetype unicode usb userlocales vcd vim vim-syntax vim-with-x vorbis wifi win32codecs wmp wxwindows x86 xine xml xorg xulrunner xvid zip zlib" ALSA_CARDS="intel8x0 usb-audio" 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 synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US en_AU" USERLAND="GNU" VIDEO_CARDS="nouveau nv"
USER="ramana"
USERLAND="GNU"
USE_EXPAND="ALSA_CARDS ALSA_PCM_PLUGINS APACHE2_MODULES APACHE2_MPMS CAMERAS CROSSCOMPILE_OPTS DVB_CARDS ELIBC FCDSL_CARDS FOO2ZJS_DEVICES FRITZCAPI_CARDS INPUT_DEVICES KERNEL LCD_DEVICES LINGUAS LIRC_DEVICES MISDN_CARDS USERLAND VIDEO_CARDS"
USE_EXPAND_HIDDEN="CROSSCOMPILE_OPTS ELIBC KERNEL USERLAND"
USE_ORDER="env:pkg:conf:defaults:pkginternal:env.d"
VIDEO_CARDS="nouveau nv"
WINDOWID="6291501"
WINDOWPATH="7"
XAUTHORITY="/home/ramana/.Xauthority"
XDG_DATA_DIRS="/usr/share:/usr/kde/3.5/share:/usr/local/share"
_="/usr/bin/emerge"
Comment 3 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2008-09-03 20:11:35 UTC
ramana.kumar:
- which versions of pixman and xorg-server were you trying?
- can you please provide the actual compile error from xorg-server?
Comment 4 Ramana Kumar 2008-09-03 20:45:17 UTC
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../include -I../../hw/xfree86 -I../../hw/xfree86/include -I../../hw/xfree86/common -I../../hw/xfree86/os-support -I../../hw/xfree86/os-support/bus -I../../os    -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/usr/include/freetype2 -I/usr/include/pixman-1   -I../../include -I../../include -I../../Xext -I../../composite -I../../damageext -I../../xfixes -I../../Xi -I../../mi -I../../miext/shadow  -I../../miext/damage -I../../render -I../../randr -I../../fb  -DHAVE_XORG_CONFIG_H -DXF86PM   -march=pentium-m -O2 -pipe -fomit-frame-pointer -D_GNU_SOURCE -MT xorg.o -MD -MP -MF .deps/xorg.Tpo -c -o xorg.o xorg.c
mv -f .deps/xorg.Tpo .deps/xorg.Po
/bin/sh ../../libtool --tag=CC   --mode=link i686-pc-linux-gnu-gcc -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/usr/include/freetype2 -I/usr/include/pixman-1   -I../../include -I../../include -I../../Xext -I../../composite -I../../damageext -I../../xfixes -I../../Xi -I../../mi -I../../miext/shadow  -I../../miext/damage -I../../render -I../../randr -I../../fb  -DHAVE_XORG_CONFIG_H -DXF86PM   -march=pentium-m -O2 -pipe -fomit-frame-pointer -D_GNU_SOURCE -rdynamic -Wl,-O1 -Wl,-z,lazy -o Xorg xorg.o ../../dix/libdix.la ../../config/libconfig.a common/libinit.a loader/libloader.a libosandcommon.la rac/librac.a parser/libxf86config.a dixmods/libdixmods.la modes/libxf86modes.a ramdac/libramdac.a ddc/libddc.a i2c/libi2c.a ../../composite/libcomposite.la ../../mi/libmi.la ../../xfixes/libxfixes.la ../../Xext/libXextbuiltin.la ../../GL/glx/libglx.la ../../GL/mesa/libGLcore.la ../../render/librender.la ../../randr/librandr.la ../../damageext/libdamageext.la ../../miext/damage/libdamage.la ../../miext/shadow/libshadow.la ../../Xi/libXi.la ../../xkb/libxkb.la ../../dix/libxpstubs.la ../../os/libos.la -ldl   -lXfont -lXau -lfontenc -lpixman-1 -lXdmcp    -lm  -lrt dixmods/libxorgxkb.la -lm  -lrt
libtool: link: i686-pc-linux-gnu-gcc -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/usr/include/freetype2 -I/usr/include/pixman-1 -I../../include -I../../include -I../../Xext -I../../composite -I../../damageext -I../../xfixes -I../../Xi -I../../mi -I../../miext/shadow -I../../miext/damage -I../../render -I../../randr -I../../fb -DHAVE_XORG_CONFIG_H -DXF86PM -march=pentium-m -O2 -pipe -fomit-frame-pointer -D_GNU_SOURCE -rdynamic -Wl,-O1 -Wl,-z -Wl,lazy -o Xorg xorg.o  ../../dix/.libs/libdix.a ../../config/libconfig.a common/libinit.a loader/libloader.a ./.libs/libosandcommon.a rac/librac.a parser/libxf86config.a dixmods/.libs/libdixmods.a modes/libxf86modes.a ramdac/libramdac.a ddc/libddc.a i2c/libi2c.a ../../composite/.libs/libcomposite.a ../../mi/.libs/libmi.a ../../xfixes/.libs/libxfixes.a ../../Xext/.libs/libXextbuiltin.a ../../GL/glx/.libs/libglx.a ../../GL/mesa/.libs/libGLcore.a ../../render/.libs/librender.a ../../randr/.libs/librandr.a ../../damageext/.libs/libdamageext.a ../../miext/damage/.libs/libdamage.a ../../miext/shadow/.libs/libshadow.a ../../Xi/.libs/libXi.a ../../xkb/.libs/libxkb.a ../../dix/.libs/libxpstubs.a ../../os/.libs/libos.a -ldl /usr/lib/libXfont.so /usr/lib/libfreetype.so /usr/lib/libXau.so /usr/lib/libfontenc.so -lz /usr/lib/libpixman-1.so /usr/lib/libXdmcp.so dixmods/.libs/libxorgxkb.a -lm -lrt
/usr/lib/libpixman-1.so: undefined reference to `pixman_have_sse'
collect2: ld returned 1 exit status
make[4]: *** [Xorg] Error 1
make[4]: Leaving directory `/var/tmp/portage/x11-base/xorg-server-1.4.2/work/xorg-server-1.4.2/hw/xfree86'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/x11-base/xorg-server-1.4.2/work/xorg-server-1.4.2/hw/xfree86'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/var/tmp/portage/x11-base/xorg-server-1.4.2/work/xorg-server-1.4.2/hw/xfree86'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/x11-base/xorg-server-1.4.2/work/xorg-server-1.4.2/hw'
make: *** [all-recursive] Error 1
 * 
 * ERROR: x11-base/xorg-server-1.4.2 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 3090:  Called x-modular_src_compile
 *             environment, line 3894:  Called x-modular_src_make
 *             environment, line 3930:  Called die
 * The specific snippet of code:
 *       emake || die "emake failed"
 *  The die message:
 *   emake failed
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/x11-base/xorg-server-1.4.2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/x11-base/xorg-server-1.4.2/temp/environment'.
Comment 5 Ramana Kumar 2008-09-03 20:51:19 UTC
version of x11-libs/pixman is 0.11.8:
[I] x11-libs/pixman
     Available versions:  (~)0.9.6 0.10.0 (~)0.11.6 (~)0.11.8 {altivec debug mmx sse sse2}
     Installed versions:  0.11.8(16:16:53 03/09/08)(sse sse2 -altivec -debug -mmx)
     Homepage:            http://xorg.freedesktop.org/
     Description:         Low-level pixel manipulation routines
Comment 6 Christopher Leopold 2008-09-06 11:01:37 UTC
I've got the same problem here. Same xorg-server version (1.4.2) and same pixman version (0.11.8).
My "emerge --info" is:

Portage 2.2_rc8 (default/linux/x86/2008.0, gcc-4.2.3, glibc-2.8_p20080602-r0, 2.6.22-gentoo-r8 i686)
=================================================================
System uname: Linux-2.6.22-gentoo-r8-i686-Intel-R-_Pentium-R-_M_processor_1500MHz-with-glibc2.0
Timestamp of tree: Tue, 02 Sep 2008 15:15:05 +0000
ccache version 2.4 [disabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7, 2.1.6-r1
dev-lang/python:     2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.2.5
sys-apps/sandbox:    1.2.18.1-r3
sys-devel/autoconf:  2.13, 2.62-r1
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 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:   2.2.4
virtual/os-headers:  2.6.26
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=i686 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O3 -march=i686 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.mneisen.org/ ftp://pandemonium.tiscali.de/pub/gentoo/ http://de-mirror.org/distro/gentoo/"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j2"
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="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X acl acpi alsa bash-completion berkdb bzip2 cdr cli cracklib crypt cups dio dri dvd dvdr dvdread emacs fortran gdbm iconv icq imagemagick ipv6 isdnlog java jpeg kde kdeenablefinal kdehiddenvisibility midi mp3 mplayer mudflap mule ncurses nls nptl nptlonly ogg opengl openmp pam pcntl pcre pdf perl png pppd python qt4 readline reflection seamonkey session spell spl sse sse2 ssl sysfs tcpd unicode usb x86 xinerama xorg xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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" 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

If you need any further infos, just say so. Thank's for the help!
Comment 7 Donnie Berkholz (RETIRED) gentoo-dev 2008-09-08 21:51:05 UTC
Doug, would you like to change metadata to just you?
Comment 8 Christopher Leopold 2008-09-21 19:48:51 UTC
after rebuilding pixman without the optimizer-flags sse and sse2, I was able to recompile xorg-server
after that, X11 started properly again
Comment 9 Dan Liu 2008-11-23 10:35:07 UTC
emerge x11-libs/pixman-0.12.0
 * SSE2 instructions require GCC 4.2 or higher. Either use
 * GCC 4.2 or higher or USE='-sse2'
 *  The die message:
 *   SSE2 instructions require GCC 4.2 or higher

My gcc is 4.3,I can not emerge pixman.But if USE="-sse2",I can.
Comment 10 Rémi Cardona (RETIRED) gentoo-dev 2008-11-24 10:22:42 UTC
(In reply to comment #9)
> My gcc is 4.3,I can not emerge pixman.But if USE="-sse2",I can.

Dan, could you paste the output of "gcc-config -l" ?

Thanks
Comment 11 Sebastian 'seezer' Goth 2008-11-25 14:56:30 UTC
I have exactly the same problems with xorg-server>=1.5

startx throws:
X: symbol lookup error: /usr/lib/libpixman-1.so.0: undefined symbol: pixman_have_sse2

and compiling a new xorg-server throws:
/usr/lib/libpixman-1.so: undefined reference to `pixman_have_sse2'
collect2: ld returned 1 exit status

Rebuilding x11-libs/pixman with USE=-sse2 helps though.

gcc-config -l:
 [1] i686-pc-linux-gnu-4.1.2
 [2] i686-pc-linux-gnu-4.3.1 *
Comment 12 Maurice van der Pot (RETIRED) gentoo-dev 2009-01-24 10:28:13 UTC
*** Bug 256098 has been marked as a duplicate of this bug. ***
Comment 13 Maurice van der Pot (RETIRED) gentoo-dev 2009-01-24 10:34:32 UTC
The problem is that in pixman/pixman-pict.c the call to pixman_have_sse2 is within #ifdef USE_SSE2, while the function itself is effectively within #if defined(USE_MMX) && defined(USE_SSE2).

Compilation will fail if mmx is used and sse/sse2 isn't.

I don't have time to test it, but placing the #ifdef SSE2 fragment at line 1817 inside the #ifdef MMX fragment below it should fix the problem.
Comment 14 Maurice van der Pot (RETIRED) gentoo-dev 2009-01-24 15:41:36 UTC
The fix I suggested may not be the right one. It could also be that the #ifdef MMX that surrounds the function definition should really be an #if defined(USE_MMX) || defined(USE_SSE2).

I can't help any further, because I don't understand this comment:

#ifdef USE_MMX
/* The CPU detection code needs to be in a file not compiled with
 * "-mmmx -msse", as gcc would generate CMOV instructions otherwise
 * that would lead to SIGILL instructions on old CPUs that don't have
 * it.
 */
Comment 15 Chris Ribble 2009-02-01 01:15:43 UTC
(In reply to comment #9)
> emerge x11-libs/pixman-0.12.0
>  * SSE2 instructions require GCC 4.2 or higher. Either use
>  * GCC 4.2 or higher or USE='-sse2'
>  *  The die message:
>  *   SSE2 instructions require GCC 4.2 or higher
> 
> My gcc is 4.3,I can not emerge pixman.But if USE="-sse2",I can.
> 
Same exact problem here. I am unable to compile pango and xorg-server with the sse2 use flag enabled. It took me a while to figure out that this was the problem, but I finally realized that maybe I should see that flags pixman was being compiled with.

Major fail here, as this has prevented me from getting X going on my system for over a day.

Can anyone explain the exact right set of USE flags for pixman for this to work? I'm trying to compile this on a slow box and this trial and error shit is taking forever.

Comment 16 sajuka 2009-02-04 22:55:06 UTC
(In reply to comment #15)
Workaround for me was to add:
=x11-libs/pixman-0.12.0 -sse2
into your /etc/portage/package.use

Comment 17 Chris Ribble 2009-02-04 23:01:18 UTC
(In reply to comment #16)
> (In reply to comment #15)
> Workaround for me was to add:
> =x11-libs/pixman-0.12.0 -sse2
> into your /etc/portage/package.use
> 

Yeah, I eventually got it working by enabling all 3 of mmx, sse, and sse2.

Comment 18 Toralf Förster gentoo-dev 2009-02-25 17:07:19 UTC
same here (ThinkPad T41, gcc 4.1.2).
Shouldn't these flags filtered out b/c gcc-4.1.2 is stable currently ? 
Comment 19 Nick Fortino 2009-03-17 04:53:47 UTC
Created attachment 185273 [details, diff]
pixman patch

I ran into this same issue trying to emerge gnome-2.24 (a failing emerge --info below). Here is a patch to make the ebuild fail, as opposed to silently creating issues to be resolved later. This is the best solution I can think of, as the pixman_have_sse2 function needs mmx to be enabled.

IMO this should block bug 245160 as stabilizing gcc-4.3 creates a valid use configuration which silently breaks all of gnome.
 
Portage 2.1.6.4 (default/linux/x86/2008.0, gcc-4.2.4, glibc-2.6.1-r0, 2.6.27-gentoo-r8 i686)
=================================================================
System uname: Linux-2.6.27-gentoo-r8-i686-Intel-R-_Core-TM-2_Extreme_CPU_X9650_@_3.00GHz-with-glibc2.0
Timestamp of tree: Tue, 17 Mar 2009 03:00:01 +0000
app-shells/bash:     3.2_p39
dev-lang/python:     2.5.2-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 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="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="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"
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="acl berkdb bzip2 cairo cli cracklib crypt cups dri fortran gdbm gpm gtk iconv ipv6 isdnlog midi mudflap ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl sse sse2 ssl sysfs tcpd test unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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="fbdev glint i810 intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 20 Maurice van der Pot (RETIRED) gentoo-dev 2009-03-19 20:05:38 UTC
Nick, how do you know that "the pixman_have_sse2 function needs mmx to be enabled"?
Comment 21 Nick Fortino 2009-03-19 20:22:37 UTC
(In reply to comment #20)
> Nick, how do you know that "the pixman_have_sse2 function needs mmx to be
> enabled"?
> 

Two reasons, both coming from pixman-pict.c

#1 (which I haven't bothered to fully understand in light of #2) is a comment in the source line 1953:
/* The CPU detection code needs to be in a file not compiled with
 * "-mmmx -msse", as gcc would generate CMOV instructions otherwise
 * that would lead to SIGILL instructions on old CPUs that don't have
 * it.
 */

#2 an excerpt from pixman_have_sse2 line 2157:
    if (!initialized)
        unsigned int features = detectCPUFeatures();
        sse2_present = (features & (MMX|MMX_Extensions|SSE|SSE2)) == (MMX|MMX_Extensions|SSE|SSE2);
        initialized = TRUE;
    }

    return sse2_present;

So even if detectCPUFeatures() could run without mmx, sse2 extensions will only be used if mmx is present (so it's safe to assume any code using sse2 will use mmx). I would say on the basis of this alone that the sse2 use flag requires mmx be enabled.
Comment 22 michael@smith-li.com 2009-03-20 13:45:36 UTC
* SSE2 instructions require GCC 4.2 or higher. Either use
* GCC 4.2 or higher or USE='-sse2'

OK, so there are two ways to understand this, please indicate which one is correct.

1) <sys-devel/gcc-4.2 doesn't support sse2 at all. Some packages (mplayer, for example) may happily ignore the sse2 USEflag, but they do not actually take advantage of sse2 instructions unless you have >=gcc-4.2.

2) pixmap has a particular problem with sse2 and gcc 4.1, but other packages are unaffected.

If the first case is true, then dying on USE=sse2 and <sys-devel/gcc-4.2 is essentially a violation of the 'stable-cannot-depend-on-unstable' constraint. If the second case is true, then please update the error message so that it's not ambiguous. Something like 

* Pixmap cannot be built with SSE2 instructions without GCC 4.2 or higher.
* Either use GCC 4.2 or higher or USE='-sse2'.

would probably clarify.

Thanks!
Michael
Comment 23 Nick Fortino 2009-03-22 00:33:27 UTC
(In reply to comment #22)
Michael, that's not the problem here, that's bug 260287 (to answer your question though, gcc has supported sse2 since v3.1.1 according to the gcc manual).

The problem here is that pixman doesn't (can't) compile all needed symbols with USE="-mmx sse2" This is admittedly a rather odd use flag set; sse2 is an extension of mmx if I understand correctly, so -mmx +sse2 doesn't make much sense in the end. The only viable options seem to be use mmx extensions with a warning when USE="-mmx sse2", or die with a helpful error message, similar to what is done with USE="-sse sse2"

Comment 24 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2009-03-24 04:32:52 UTC
patch looks sane, I will commit if no one objects in a few days
Comment 25 Rémi Cardona (RETIRED) gentoo-dev 2009-03-24 07:48:57 UTC
Please don't commit that patch.

I'm already working on an another pixman patch in bug 260287. I'll try to fix this one as well.

Thanks
Comment 26 Rémi Cardona (RETIRED) gentoo-dev 2009-03-24 12:53:42 UTC
I've committed 0.14.0-r1 which removes mmx and sse2 support if pixman is built with USE="-mmx sse2". The ebuild will warn the user in that case, but the ebuild doesn't die.

We could of course change it around (USE="-mmx sse2" implies USE="mmx sse2") but I went with the safest route.

Thanks