Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 671412 - www-client/chromium-70.0.3538.67 - ../../media/base/vector_math.cc:98:20: error: always_inline function '_mm_set_ps1' requires target feature 'mmx', but would be inlined into function 'FMUL_SSE' that is compiled without support for 'mmx'
Summary: www-client/chromium-70.0.3538.67 - ../../media/base/vector_math.cc:98:20: err...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: Normal normal (vote)
Assignee: Chromium Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-11-18 10:20 UTC by mopf
Modified: 2018-11-27 20:58 UTC (History)
1 user (show)

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


Attachments
make.conf (file_671412.txt,836 bytes, text/plain)
2018-11-18 10:22 UTC, mopf
Details
/var/tmp/portage/www-client/chromium-70.0.3538.67/temp/environment (file_671412.txt,199.19 KB, text/plain)
2018-11-18 10:23 UTC, mopf
Details
build.log from error to end (file_671412.txt,9.86 KB, text/plain)
2018-11-18 10:25 UTC, mopf
Details
emerge --info (file_671412.txt,5.66 KB, text/plain)
2018-11-18 10:25 UTC, mopf
Details
gn args (file_671412.txt,908 bytes, text/plain)
2018-11-18 10:26 UTC, mopf
Details
make.conf Full (file_671412.txt,856 bytes, text/plain)
2018-11-24 12:44 UTC, mopf
Details

Note You need to log in before you can comment on or make changes to this bug.
Description mopf 2018-11-18 10:20:15 UTC
Compilation of chromium-70.0.3538.67 (and higher) fails on my 32 bit system.

It could be related to missing -msse3 or -mmmx flags in that particular part of the compilation process (similar to https://bugs.chromium.org/p/chromium/issues/detail?id=607938).

Reproducible: Always

Steps to Reproduce:
1. System: 

/ # grep /proc/cpuinfo -e "model name" -e flags 
model name   : Intel(R) Core(TM) Duo CPU      L2500  @ 1.83GHz 
flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon bts cpuid aperfmperf pni monitor vmx est tm2 xtpr pdcm dtherm

2. Environment as attached

3. Emerge chromium-70.0.3538.67.
Actual Results:  
[... snip ...]
[779/16895] 
[... snip ...] 
FAILED: obj/media/shared_memory_support/vector_math.o 
[... snip ...] 
../../media/base/vector_math.cc:98:20: error: always_inline function '_mm_set_ps1' requires target feature 'mmx', but would be inlined into function 'FMUL_SSE' that is compiled without support for 'mmx' 
  __m128 m_scale = _mm_set_ps1(scale); 
[... many more errors like above ...] 
fatal error: too many errors emitted, stopping now [-ferror-limit=] 
20 errors generated. 
ninja: build stopped: subcommand failed. 
 * ERROR: www-client/chromium-70.0.3538.67::gentoo failed (compile phase): 
 *   ninja -v -j1 -l0 -C out/Release v8_context_snapshot_generator failed 
 * 
 * Call stack: 
 *     ebuild.sh, line  124:  Called src_compile 
 *   environment, line 4987:  Called eninja '-C' 'out/Release' 'v8_context_snapshot_generator' 
 *   environment, line 1764:  Called die 
 * The specific snippet of code: 
 *       "$@" || die "${nonfatal_args[@]}" "${*} failed" 
 * 
 * If you need support, post the output of `emerge --info '=www-client/chromium-70.0.3538.67::gentoo'`, 
 * the complete build log and the output of `emerge -pqv '=www-client/chromium-70.0.3538.67::gentoo'`. 
 * 
 * MemTotal:        3093912 kB 
 * SwapTotal:       5242876 kB 

Expected Results:  
Chromium compiles fine after 2 days.

chromium-65.0.3315.3 works for me.
Comment 1 mopf 2018-11-18 10:22:02 UTC
Created attachment 555550 [details]
make.conf
Comment 2 mopf 2018-11-18 10:23:34 UTC
Created attachment 555552 [details]
/var/tmp/portage/www-client/chromium-70.0.3538.67/temp/environment
Comment 3 mopf 2018-11-18 10:25:00 UTC
Created attachment 555554 [details]
build.log from error to end
Comment 4 mopf 2018-11-18 10:25:40 UTC
Created attachment 555556 [details]
emerge --info
Comment 5 mopf 2018-11-18 10:26:43 UTC
Created attachment 555558 [details]
gn args
Comment 6 Matt Turner gentoo-dev 2018-11-24 05:02:10 UTC
You have CFLAGS but not CXXFLAGS set in your make.conf. It looks like the chromium build system is picking some minimum (-march=i686) which doesn't enable MMX.

I suspect if you set CXXFLAGS your problem will go away.
Comment 7 mopf 2018-11-24 12:44:08 UTC
Created attachment 556122 [details]
make.conf Full
Comment 8 mopf 2018-11-24 12:46:28 UTC
Hi,

this is not the problem, I used a minimal make.conf here but it also fails the same way with my normal one (https://bugs.gentoo.org/attachment.cgi?id=556122)...
Comment 9 Saayuj Santhoshkumar 2018-11-24 13:34:24 UTC
(In reply to mopf from comment #8)
> Hi,
> 
> this is not the problem, I used a minimal make.conf here but it also fails
> the same way with my normal one
> (https://bugs.gentoo.org/attachment.cgi?id=556122)...

Hey,

Your make.conf is indeed minimal, but not accurate. As Matt said earlier, your CFLAGS and CXXFLAGS do not match. -march variable is also not the same(saw this in your forum post in emerge --info O/P). My advice would be to change those.

>CFLAGS="-O2 -march=pentium-m -pipe -msse3 -fomit-frame-pointer" 
>CXXFLAGS="-O2 -march=i686 -pipe"

to 

CFLAGS="-O2 -march=native -pipe"
CXXFLAGS="-O2 -march=native -pipe" 

in your make.conf

-msse3 : You don't need to specify this, in your forum post, when you grep'ed cpuinfo flags, the output included "pni", its just a different name for SSE3 said in gcc gentoo wiki(https://wiki.gentoo.org/wiki/GCC_optimization)

-fomit-frame-pointer : its already selected and used on -O2 optimization level, no need to explicitly specify it. Hope chromium compiles fine. You *may* need to recompile the whole system again, because you performed some crucial changes in your make.conf now.
Comment 10 mopf 2018-11-24 14:26:27 UTC
Hi,

I changed CFLAGS and CXXFLAGS according to your recommendation and dropped CPU_FLAGS_X86. Going for "emerge -e system chromium" now and get back as soon this is finished :)

Thanks!
Comment 11 Saayuj Santhoshkumar 2018-11-24 14:39:19 UTC
(In reply to mopf from comment #10)
> Hi,
> 
> I changed CFLAGS and CXXFLAGS according to your recommendation and dropped
> CPU_FLAGS_X86. Going for "emerge -e system chromium" now and get back as
> soon this is finished :)
> 
> Thanks!

No need to drop CPU_FLAGS_X86. Only need to change CFLAGS & CXXFLAGS.
If you've already started, its okay no problem, add that again in future whenever you have free time :)
Comment 12 mopf 2018-11-24 14:44:48 UTC
I restarted with restored CPU_FLAGS_X86. Seems to affect only a few packages and... well, compared to how long this process will boil in the background, I don't lose much :-)
Comment 13 Larry the Git Cow gentoo-dev 2018-11-24 18:52:10 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1825582f83d51485e1ed6e668fc1f55a5814a56

commit a1825582f83d51485e1ed6e668fc1f55a5814a56
Author:     Mike Gilbert <floppym@gentoo.org>
AuthorDate: 2018-11-24 18:51:25 +0000
Commit:     Mike Gilbert <floppym@gentoo.org>
CommitDate: 2018-11-24 18:51:36 +0000

    www-client/chromium: enable -msse2 -mfpmath=sse -mmmx on x86
    
    This is normally done by the build system, but we started patching that
    out to avoid build issues on ARM.
    
    Closes: https://bugs.gentoo.org/671412
    Package-Manager: Portage-2.3.51_p14, Repoman-2.3.12_p5
    Signed-off-by: Mike Gilbert <floppym@gentoo.org>

 www-client/chromium/chromium-70.0.3538.110.ebuild | 4 ++++
 www-client/chromium/chromium-71.0.3578.53.ebuild  | 4 ++++
 www-client/chromium/chromium-72.0.3595.2.ebuild   | 4 ++++
 3 files changed, 12 insertions(+)
Comment 14 mopf 2018-11-27 20:58:32 UTC
... just finished compiling. Worked :)

Thanks!