Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] Emerge www-client/chromium-24.0.1312.56 fails
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
ShiroiKuma
n00b
n00b


Joined: 09 Nov 2012
Posts: 40
Location: Japan

PostPosted: Thu Feb 14, 2013 4:34 am    Post subject: [SOLVED] Emerge www-client/chromium-24.0.1312.56 fails Reply with quote

I've been trying for several days now to compile Chromium on my 32bit Pentium-M Dell Inspiron 6000 laptop. As this is not the best laptop, I usually use ccache and distcc to speed things up, however if I do encounter problems, I always try disabling ccache, distcc and set MAKEOPTS to -j1.

Some possibly important information from eselect and gcc-config
Quote:
Profile: hardened/linux/x86/selinux
GCC: i686-pc-linux-gnu-4.6.3
Kernel: linux-3.7.0-hardened


My emerge command
Code:
FEATURES="-ccache -distcc" MAKEOPTS="-j1" emerge chromium


But this results in a failure. (I've also tried with and without bindist), both result in the same error. The error is at the end of this post.

The output of the following info command

Code:
FEATURES="-ccache -distcc" MAKEOPTS="-j1" emerge --info '=www-client/chromium-24.0.1312.56'
is as follows, and yes I am using a local rsync to save bandwidth on the mirrors.

Code:
Portage 2.1.11.50 (hardened/linux/x86/selinux, gcc-4.6.3, glibc-2.15-r3, 3.7.0-hardened i686)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.7.0-hardened-i686-Intel-R-_Pentium-R-_M_processor_2.00GHz-with-gentoo-2.1
KiB Mem:     2068592 total,    222852 free
KiB Swap:    6290740 total,   6290740 free
Timestamp of tree: Thu, 14 Feb 2013 01:45:01 +0000
ld GNU ld (GNU Binutils) 2.22
distcc 3.1 i686-pc-linux-gnu [disabled]
ccache version 3.1.8 [disabled]
app-shells/bash:          4.2_p37
dev-lang/python:          2.7.3-r2, 3.2.3
dev-util/ccache:          3.1.8
dev-util/cmake:           2.8.9
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.4, 4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.6 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo x-portage
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA Oracle-BCLA-JavaSE"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium-m -fno-omit-frame-pointer"
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/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=pentium-m -fno-omit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-march=i686 -O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox selinux sesandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-march=i686 -O2 -pipe"
GENTOO_MIRRORS="http://ftp.jaist.ac.jp/pub/Linux/Gentoo/"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://192.168.11.13/gentoo-portage"
USE="X acpi berkdb bzip2 cjk cli consolekit cracklib crypt cxx dri gdbm gpm hardened iconv icu ipv6 minizip mmx modules mp3 mudflap ncurses nls nptl open_perms openmp pam pax_kernel pcre pic png python readline selinux session sse sse2 ssl tcpd truetype udev unicode urandom x264 x86 xcb xft 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="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" 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 ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en_GB ja" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="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, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON


The last few lines of the build log are
Code:
  rm -f out/Release/obj.target/third_party/ffmpeg/libffmpeg_yasm.a && i686-pc-linux-gnu-ar crsT out/Release/obj.target/third_party/ffmpeg/libffmpeg_yasm.a out/Release/obj.target/ffmpeg_yasm/third_party/ffmpeg/xcode_hack.o out/Release/obj/gen/third_party/ffmpeg/yasm/dct32.o out/Release/obj/gen/third_party/ffmpeg/yasm/h264_chromamc.o out/Release/obj/gen/third_party/ffmpeg/yasm/h264_chromamc_10bit.o out/Release/obj/gen/third_party/ffmpeg/yasm/h264_deblock.o out/Release/obj/gen/third_party/ffmpeg/yasm/h264_deblock_10bit.o out/Release/obj/gen/third_party/ffmpeg/yasm/h264_idct.o out/Release/obj/gen/third_party/ffmpeg/yasm/h264_idct_10bit.o out/Release/obj/gen/third_party/ffmpeg/yasm/h264_weight.o out/Release/obj/gen/third_party/ffmpeg/yasm/h264_weight_10bit.o out/Release/obj/gen/third_party/ffmpeg/yasm/imdct36.o out/Release/obj/gen/third_party/ffmpeg/yasm/sbrdsp.o out/Release/obj/gen/third_party/ffmpeg/yasm/deinterlace.o out/Release/obj/gen/third_party/ffmpeg/yasm/dsputil.o out/Release/obj/gen/third_party/ffmpeg/yasm/fft.o out/Release/obj/gen/third_party/ffmpeg/yasm/fmtconvert.o out/Release/obj/gen/third_party/ffmpeg/yasm/h264_intrapred.o out/Release/obj/gen/third_party/ffmpeg/yasm/h264_intrapred_10bit.o out/Release/obj/gen/third_party/ffmpeg/yasm/h264_qpel_10bit.o out/Release/obj/gen/third_party/ffmpeg/yasm/vp3dsp.o out/Release/obj/gen/third_party/ffmpeg/yasm/vp8dsp.o out/Release/obj/gen/third_party/ffmpeg/yasm/float_dsp.o
  i686-pc-linux-gnu-gcc '-D_FILE_OFFSET_BITS=64' '-DNO_TCMALLOC' '-DCHROMIUM_BUILD' '-DUSE_LIBJPEG_TURBO=1' '-DUSE_NSS=1' '-DENABLE_ONE_CLICK_SIGNIN' '-DGTK_DISABLE_SINGLE_INCLUDES=1' '-DENABLE_REMOTING=1' '-DENABLE_WEBRTC=1' '-DUSE_PROPRIETARY_CODECS' '-DENABLE_CONFIGURATION_POLICY' '-DENABLE_INPUT_SPEECH' '-DENABLE_NOTIFICATIONS' '-DCHROMIUM_SELINUX=1' '-DENABLE_GPU=1' '-DENABLE_EGLIMAGE=1' '-DUSE_SKIA=1' '-DENABLE_TASK_MANAGER=1' '-DENABLE_WEB_INTENTS=1' '-DENABLE_EXTENSIONS=1' '-DENABLE_PLUGIN_INSTALLATION=1' '-DENABLE_PROTECTOR_SERVICE=1' '-DENABLE_SESSION_SERVICE=1' '-DENABLE_THEMES=1' '-DENABLE_BACKGROUND=1' '-DENABLE_AUTOMATION=1' '-DENABLE_PRINTING=1' '-DENABLE_CAPTIVE_PORTAL_DETECTION=1' '-DHAVE_AV_CONFIG_H' '-D_POSIX_C_SOURCE=200112' '-D_XOPEN_SOURCE=600' '-DPIC' '-D_ISOC99_SOURCE' '-D_LARGEFILE_SOURCE' '-DNDEBUG' '-DNVALGRIND' '-DDYNAMIC_ANNOTATIONS_ENABLED=0' -Ithird_party/ffmpeg/chromium/config/Chrome/linux/ia32 -Ithird_party/ffmpeg  -pthread -fno-exceptions -fno-strict-aliasing -Wno-unused-parameter -Wno-missing-field-initializers -pipe -fPIC -fPIC -fomit-frame-pointer -w -std=c99 -pthread -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -fomit-frame-pointer -Wno-deprecated-declarations -Wno-format -Wno-unused-result -m32 -mmmx -O2 -fno-ident -fdata-sections -ffunction-sections  -MMD -MF out/Release/.deps/out/Release/obj.target/ffmpegsumo/third_party/ffmpeg/libavcodec/x86/h264dsp_init.o.d.raw -O2 -march=pentium-m -fno-omit-frame-pointer -c -o out/Release/obj.target/ffmpegsumo/third_party/ffmpeg/libavcodec/x86/h264dsp_init.o third_party/ffmpeg/libavcodec/x86/h264dsp_init.c
  i686-pc-linux-gnu-gcc '-D_FILE_OFFSET_BITS=64' '-DNO_TCMALLOC' '-DCHROMIUM_BUILD' '-DUSE_LIBJPEG_TURBO=1' '-DUSE_NSS=1' '-DENABLE_ONE_CLICK_SIGNIN' '-DGTK_DISABLE_SINGLE_INCLUDES=1' '-DENABLE_REMOTING=1' '-DENABLE_WEBRTC=1' '-DUSE_PROPRIETARY_CODECS' '-DENABLE_CONFIGURATION_POLICY' '-DENABLE_INPUT_SPEECH' '-DENABLE_NOTIFICATIONS' '-DCHROMIUM_SELINUX=1' '-DENABLE_GPU=1' '-DENABLE_EGLIMAGE=1' '-DUSE_SKIA=1' '-DENABLE_TASK_MANAGER=1' '-DENABLE_WEB_INTENTS=1' '-DENABLE_EXTENSIONS=1' '-DENABLE_PLUGIN_INSTALLATION=1' '-DENABLE_PROTECTOR_SERVICE=1' '-DENABLE_SESSION_SERVICE=1' '-DENABLE_THEMES=1' '-DENABLE_BACKGROUND=1' '-DENABLE_AUTOMATION=1' '-DENABLE_PRINTING=1' '-DENABLE_CAPTIVE_PORTAL_DETECTION=1' '-DHAVE_AV_CONFIG_H' '-D_POSIX_C_SOURCE=200112' '-D_XOPEN_SOURCE=600' '-DPIC' '-D_ISOC99_SOURCE' '-D_LARGEFILE_SOURCE' '-DNDEBUG' '-DNVALGRIND' '-DDYNAMIC_ANNOTATIONS_ENABLED=0' -Ithird_party/ffmpeg/chromium/config/Chrome/linux/ia32 -Ithird_party/ffmpeg  -pthread -fno-exceptions -fno-strict-aliasing -Wno-unused-parameter -Wno-missing-field-initializers -pipe -fPIC -fPIC -fomit-frame-pointer -w -std=c99 -pthread -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -fomit-frame-pointer -Wno-deprecated-declarations -Wno-format -Wno-unused-result -m32 -mmmx -O2 -fno-ident -fdata-sections -ffunction-sections  -MMD -MF out/Release/.deps/out/Release/obj.target/ffmpegsumo/third_party/ffmpeg/libavcodec/x86/mpegaudiodec.o.d.raw -O2 -march=pentium-m -fno-omit-frame-pointer -c -o out/Release/obj.target/ffmpegsumo/third_party/ffmpeg/libavcodec/x86/mpegaudiodec.o third_party/ffmpeg/libavcodec/x86/mpegaudiodec.c
third_party/ffmpeg/libavcodec/x86/mpegaudiodec.c: In function âapply_window.constprop.0â:
third_party/ffmpeg/libavcodec/x86/mpegaudiodec.c:81:5: error: canât find a register in class âGENERAL_REGSâ while reloading âasmâ
third_party/ffmpeg/libavcodec/x86/mpegaudiodec.c:81:5: error: âasmâ operand has impossible constraints
make: *** [out/Release/obj.target/ffmpegsumo/third_party/ffmpeg/libavcodec/x86/mpegaudiodec.o] Error 1
 * ERROR: www-client/chromium-24.0.1312.56 failed (compile phase):
 *   emake failed
 *
 * If you need support, post the output of `emerge --info '=www-client/chromium-24.0.1312.56'`,
 * the complete build log and the output of `emerge -pqv '=www-client/chromium-24.0.1312.56'`.
 * The complete build log is located at '/var/tmp/portage/www-client/chromium-24.0.1312.56/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/www-client/chromium-24.0.1312.56/temp/environment'.
 * Working directory: '/var/tmp/portage/www-client/chromium-24.0.1312.56/work/chromium-24.0.1312.56'
 * S: '/var/tmp/portage/www-client/chromium-24.0.1312.56/work/chromium-24.0.1312.56'


I can post the full build log if needed, but it's 13mb

The output from
Code:
FEATURES="-ccache -distcc" MAKETOPS="-j1" emerge -pqv '=www-client/chromium-24.0.1312.56'
is
Code:
[ebuild  N    ] www-client/chromium-24.0.1312.56  USE="(selinux) -bindist -cups -custom-cflags -gnome -gnome-keyring -kerberos (-pulseaudio) (-tcmalloc) {-test}" LINGUAS="en_GB ja -am -ar -bg -bn -ca -cs -da -de -el -es -es_LA -et -fa -fi -fil -fr -gu -he -hi -hr -hu -id -it -kn -ko -lt -lv -ml -mr -ms -nb -nl -pl -pt_BR -pt_PT -ro -ru -sk -sl -sr -sv -sw -ta -te -th -tr -uk -vi -zh_CN -zh_TW"


Any help on this is appreciated.


Last edited by ShiroiKuma on Sat Feb 16, 2013 4:50 pm; edited 1 time in total
Back to top
View user's profile Send private message
gienah
Developer
Developer


Joined: 24 Nov 2010
Posts: 212
Location: AU

PostPosted: Fri Feb 15, 2013 2:20 am    Post subject: Reply with quote

An idea to try is turning on the www-client/chromium system-ffmpeg USE flag. A line like this in /etc/portage/package.use will enable it:

www-client/chromium system-ffmpeg


Last edited by gienah on Fri Feb 15, 2013 2:47 am; edited 1 time in total
Back to top
View user's profile Send private message
ShiroiKuma
n00b
n00b


Joined: 09 Nov 2012
Posts: 40
Location: Japan

PostPosted: Fri Feb 15, 2013 2:36 am    Post subject: Reply with quote

Thanks, I'll try that shortly. I tried emergeing ffmpeg directly, that failed with a similar error.

I changed my CFLAGS temporarily from
Code:
CFLAGS="-O2 -march=pentium-m -fno-omit-frame-pointer"

to
Code:
CFLAGS="-O2 -march=pentium-m -fomit-frame-pointer"


and ffmpeg itself actually emerged now.

I now recall that I only started using -fno-omit-frame-pointer as a workaround because GCC 4.6.3 fails to compile with pentium-m's without it. Comment #33 on the bug https://bugs.gentoo.org/show_bug.cgi?id=411333 was what helped me out with that one. Only, I didn't switch it back to normal.

I'm trying it again with -fomit-frame-pointer, should it fail, I'll then try with system-ffmpeg. Could take awhile, I'll report back soon. :)
Back to top
View user's profile Send private message
gienah
Developer
Developer


Joined: 24 Nov 2010
Posts: 212
Location: AU

PostPosted: Fri Feb 15, 2013 2:45 am    Post subject: Reply with quote

Setting CFLAGS and CXXFLAGS for specific packages may be useful to workaround this:

http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?part=3&chap=6#doc_chap2
Back to top
View user's profile Send private message
floppymaster
Developer
Developer


Joined: 07 Jul 2010
Posts: 229
Location: Detroit, MI, USA

PostPosted: Sat Feb 16, 2013 4:46 pm    Post subject: Reply with quote

Interesting... it definitely seems like a bug in gcc if it fails without -fno-omit-frame-pointer.

For ffmpeg I can understand, since there's a lot of hand-written assembly.
Back to top
View user's profile Send private message
ShiroiKuma
n00b
n00b


Joined: 09 Nov 2012
Posts: 40
Location: Japan

PostPosted: Sat Feb 16, 2013 4:55 pm    Post subject: Reply with quote

Well I managed to resolve it, both chromium and ffmpeg now emerge without problem.

GCC 4.5.4 is unable to compile GCC 4.6.3 with -march=pentium-m, unless you have -fno-omit-frame-pointer included.

So the full solution to this episode was to use GCC 4.5.4 to compile GCC 4.6.3 with -O2 -march=pentium-m -fno-omit-frame-pointer.
Second step, recompile GCC 4.6.3 (using GCC 4.6.3 now) with -O2 -march=pentium-m -fomit-frame-pointer

After that, 4.6.3 compiles happily along. It's a weird workaround on the GCC bug, but they did they say 4.6.3 was left masked for that reason and in 4.7 it's fixed (from reading comments). Just glad it's working now though.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum