Summary: | app-text/tesseract-4.1.1 : .../work/tesseract-4.1.1/src/arch/intsimdmatrixavx2.cpp:20:2: error: #error Implementation only for AVX2 capable architectures | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Viktor Yu. Kovalskii <vityokster> |
Component: | Current packages | Assignee: | Bernard Cafarelli <voyageur> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | chutzpah |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log |
Description
Viktor Yu. Kovalskii
2020-01-14 10:31:26 UTC
Created attachment 603258 [details]
build.log
Interesting, I compared the generated Makefile in /var/tmp/portage/app-text/tesseract-4.1.1/work/tesseract-4.1.1-abi_x86_64.amd64/src/arch with and without that flag set and the only difference is CFLAGS/CXXFLAGS Current upstream master has rewritten logic on these flags but it fails the same way (In reply to Viktor Yu. Kovalskii from comment #0) > With CFLAGS="... -mno-avx2 ..." app-text/tesseract-4.1.1 fails to build: This is your fault. CFLAGS="-march=bdver2 -mtune=bdver2 -O2 -pipe -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mlwp -mfma -mfma4 -mxop -mbmi -mno-bmi2 -mtbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-hle -mno-rdrnd -mf16c -mno-fsgsbase -mno-rdseed -mprfchw -mno-adx -mfxsr -mxsave -mno-xsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -fstack-protector-strong --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=2048" Remove the -mno-* CFLAGS and it'll compile. Lots of projects have runtime-enabled code for AVX2, etc. The build system uses -mavx2 for only those files. You're preventing it from building. (In reply to Matt Turner from comment #3) > (In reply to Viktor Yu. Kovalskii from comment #0) > > With CFLAGS="... -mno-avx2 ..." app-text/tesseract-4.1.1 fails to build: > > This is your fault. > > CFLAGS="-march=bdver2 -mtune=bdver2 -O2 -pipe -mmmx -mno-3dnow -msse -msse2 > -msse3 -mssse3 -msse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul > -mpopcnt -mabm -mlwp -mfma -mfma4 -mxop -mbmi -mno-bmi2 -mtbm -mavx > -mno-avx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-hle -mno-rdrnd -mf16c > -mno-fsgsbase -mno-rdseed -mprfchw -mno-adx -mfxsr -mxsave -mno-xsaveopt > -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 > -fstack-protector-strong --param l1-cache-size=16 --param > l1-cache-line-size=64 --param l2-cache-size=2048" > > Remove the -mno-* CFLAGS and it'll compile. Lots of projects have > runtime-enabled code for AVX2, etc. The build system uses -mavx2 for only > those files. You're preventing it from building. So I shouldn't use the -mno-* CFLAGS ever, should I? Ok, I remove these -mno-* CFLAGS from my make.conf. So I think this bug can be closed. Thanks Matt! Closing the bug then |