Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 320145 - www-client/chromium-6.0.401.1: can't compile (SSE2 not enabled)
Summary: www-client/chromium-6.0.401.1: can't compile (SSE2 not enabled)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Paweł Hajdan, Jr. (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-05-17 11:17 UTC by Tomas Racek
Modified: 2010-07-04 17:35 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tomas Racek 2010-05-17 11:17:06 UTC
In file included from media/filters/ffmpeg_audio_decoder.cc:21:
/usr/lib/gcc/i686-pc-linux-gnu/4.4.3/include/emmintrin.h:32:3: error: #error "SSE2 instruction set not enabled"
media/filters/ffmpeg_audio_decoder.cc:124: error: ‘__m128’ does not name a type
media/filters/ffmpeg_audio_decoder.cc: In function ‘void media::FloatToIntSaturate(float*)’:
media/filters/ffmpeg_audio_decoder.cc:126: error: ‘__m128’ was not declared in this scope
media/filters/ffmpeg_audio_decoder.cc:126: error: expected ‘;’ before ‘a’
media/filters/ffmpeg_audio_decoder.cc:127: error: ‘a’ was not declared in this scope
media/filters/ffmpeg_audio_decoder.cc:127: error: ‘kFloatScaler’ was not declared in this scope
media/filters/ffmpeg_audio_decoder.cc:127: error: ‘_mm_mul_ss’ was not declared in this scope
media/filters/ffmpeg_audio_decoder.cc:128: error: ‘_mm_cvtss_si32’ was not declared in this scope
make: *** [out/Release/obj.target/media/media/filters/ffmpeg_audio_decoder.o] Error 1

Reproducible: Always

Steps to Reproduce:
1. unmask chromium
2. emerge chromium
3.




Portage 2.1.8.3 (default/linux/x86/10.0/desktop, gcc-4.4.3, glibc-2.11.1-r0, 2.6.31-gentoo-r1 i686)
=================================================================
System uname: Linux-2.6.31-gentoo-r1-i686-AMD_Athlon-tm-_XP_2000+-with-gentoo-2.0.1
Timestamp of tree: Sun, 16 May 2010 17:00:01 +0000
app-shells/bash:     4.1_p5
dev-java/java-config: 2.1.11
dev-lang/python:     2.4.4-r13, 2.5.4-r2, 2.6.5-r2, 3.1.2-r3
dev-python/pycrypto: 2.0.1-r8
dev-util/cmake:      2.8.1-r1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.5, 1.7.9-r1, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.18-r4
sys-devel/gcc:       4.3.4, 4.4.3-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="* -@EULA PUEL dlj-1.1"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /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/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages metadata-transfer news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch userpriv"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1"
LINGUAS="us cs"
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"
PORTDIR_OVERLAY="/var/lib/layman/kde /var/lib/layman/x11"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X a52 aac acl acpi alsa bash-completion berkdb bluetooth branding bzip2 cairo cdr cleartype cli consolekit cracklib crypt cups cxx dbus djvu doc dri dts dvd dvdr emboss encode examples exif fam ffmpeg firefox flac fortran gdbm gif glitz glsa gpm gtk hal iconv ipv6 jpeg kde kpathsea latex lcms ldap libnotify lm_sensors mad mercurial mikmod mmx mmxext mng modules mp3 mp4 mpeg mplayer mudflap musicbrainz ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pdf png portage ppds pppd python qt qt3support qt4 quicktime raster readline reflection samba sdl semantic-desktop session spell spl sqlite sqlite3 sse ssl startup-notification subversion svg sysfs tcpd theora threads tiff truetype unicode usb vim-syntax vorbis webkit win32codecs x264 x86 xcb xcomposite xml xorg xv 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" LINGUAS="us cs" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nv nvidia nouveau" 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, FFLAGS, INSTALL_MASK, LANG, LC_ALL, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 cyrillic 2010-05-17 22:38:37 UTC
I get the same error with www-client/chromium-9999 and -march=pentium3
My CPU does not support SSE2 instructions, but chromium will not build without it
Comment 2 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-05-18 11:09:51 UTC
Does adding -DUSE_SSE=0 to CFLAGS when compiling www-client/chromium solve the problem?
Comment 3 Tomas Racek 2010-05-18 17:48:32 UTC
(In reply to comment #2)
> Does adding -DUSE_SSE=0 to CFLAGS when compiling www-client/chromium solve the
> problem?
> 

Good point. ;-) The chromium compiles fine with this flag. However the merge ends with:

  i686-pc-linux-gnu-gcc -O2 -march=athlon-xp -pipe -fomit-frame-pointer -DUSE_SSE=0 -D__STDC_CONSTANT_MACROS -O2 -march=athlon-xp -pipe -fomit-frame-pointer -DUSE_SSE=0 -D__STDC_CONSTANT_MACROS -pthread -fno-exceptions -Wall -Wno-unused-parameter -Wno-missing-field-initializers -D_FILE_OFFSET_BITS=64 -fvisibility=hidden -m32 -mmmx -fno-strict-aliasing -std=gnu99 -O2 -fno-ident -fdata-sections -ffunction-sections  '-DNO_HEAPCHECKER' '-DCHROMIUM_BUILD' '-DUSE_PROPRIETARY_CODECS' '-DENABLE_GPU=1' '-D__STDC_FORMAT_MACROS' '-DNDEBUG' '-DNVALGRIND' -I. -MMD -MF out/Release/.deps/out/Release/obj.target/chrome_sandbox/sandbox/linux/suid/process_util_linux.o.d.raw -c -o out/Release/obj.target/chrome_sandbox/sandbox/linux/suid/process_util_linux.o sandbox/linux/suid/process_util_linux.c
  i686-pc-linux-gnu-gcc -O2 -march=athlon-xp -pipe -fomit-frame-pointer -DUSE_SSE=0 -D__STDC_CONSTANT_MACROS -O2 -march=athlon-xp -pipe -fomit-frame-pointer -DUSE_SSE=0 -D__STDC_CONSTANT_MACROS -pthread -fno-exceptions -Wall -Wno-unused-parameter -Wno-missing-field-initializers -D_FILE_OFFSET_BITS=64 -fvisibility=hidden -m32 -mmmx -fno-strict-aliasing -std=gnu99 -O2 -fno-ident -fdata-sections -ffunction-sections  '-DNO_HEAPCHECKER' '-DCHROMIUM_BUILD' '-DUSE_PROPRIETARY_CODECS' '-DENABLE_GPU=1' '-D__STDC_FORMAT_MACROS' '-DNDEBUG' '-DNVALGRIND' -I. -MMD -MF out/Release/.deps/out/Release/obj.target/chrome_sandbox/sandbox/linux/suid/sandbox.o.d.raw -c -o out/Release/obj.target/chrome_sandbox/sandbox/linux/suid/sandbox.o sandbox/linux/suid/sandbox.c
  i686-pc-linux-gnu-g++ -Wl,-O1 -Wl,-O1 -pthread -Wl,-z,noexecstack -m32 -Wl,--gc-sections -o out/Release/chrome_sandbox -Wl,--start-group out/Release/obj.target/chrome_sandbox/sandbox/linux/suid/linux_util.o out/Release/obj.target/chrome_sandbox/sandbox/linux/suid/process_util_linux.o out/Release/obj.target/chrome_sandbox/sandbox/linux/suid/sandbox.o -Wl,--end-group 
>>> Source compiled.
>>> Test phase [not enabled]: www-client/chromium-6.0.401.1

>>> Install chromium-6.0.401.1 into /var/tmp/portage/www-client/chromium-6.0.401.1/image/ category www-client
 * Fallback PaX marking -m
 *      out/Release/chrome
 TYPE    PAX   FILE 
ET_EXEC --mxe- out/Release/chrome 
>>> Completed installing chromium-6.0.401.1 into /var/tmp/portage/www-client/chromium-6.0.401.1/image/

strip: i686-pc-linux-gnu-strip --strip-unneeded -R .comment
   usr/lib/chromium-browser/chrome
   usr/lib/chromium-browser/chrome_sandbox
ecompressdir: bzip2 -9 /usr/share/man

>>> Installing (1 of 1) www-client/chromium-6.0.401.1
 * >>> SetUID: [chmod go-r] /usr/lib/chromium-browser/chrome_sandbox ...                                                                                                                                                    [ ok ]

 * Messages for package www-client/chromium-6.0.401.1:

 * ERROR: www-client/chromium-6.0.401.1 failed:
 *   compilation failed
 * 
 * Call stack:
 *     ebuild.sh, line  54:  Called src_compile
 *   environment, line 2708:  Called die
 * The specific snippet of code:
 *       emake -r V=1 chrome chrome_sandbox BUILDTYPE=Release rootdir="${S}" CC=$(tc-getCC) CXX=$(tc-getCXX) AR=$(tc-getAR) RANLIB=$(tc-getRANLIB) || die "compilation failed"
 * 
 * If you need support, post the output of 'emerge --info =www-client/chromium-6.0.401.1',
 * the complete build log and the output of 'emerge -pqv =www-client/chromium-6.0.401.1'.
 * The complete build log is located at '/var/tmp/portage/www-client/chromium-6.0.401.1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/www-client/chromium-6.0.401.1/temp/environment'.
 * S: '/var/tmp/portage/www-client/chromium-6.0.401.1/work/chromium-6.0.401.1'

 * Messages for package www-client/chromium-6.0.401.1:

 * Fallback PaX marking -m
 *      out/Release/chrome
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

I have no clue if it's related to the problem mentioned above, nevertheless chromium works. ;-)
Comment 4 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-05-21 09:12:39 UTC
Fixed in dev channel version bump.
Comment 5 Mike Gilbert gentoo-dev 2010-05-29 15:50:06 UTC
I believe this workaround can be removed: they fixed it upstream.

http://code.google.com/p/chromium/issues/detail?id=44643
http://codereview.chromium.org/2360002
Comment 6 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-05-29 16:02:00 UTC
Re-opening then.