Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Jul 2020 02:00:00 -0700
From:      <soralx@cydem.org>
To:        <ports@FreeBSD.org>, <freebsd-toolchain@FreeBSD.org>, <jbeich@FreeBSD.org>, <dim@FreeBSD.org>
Subject:   Clang fails to detect CPU features
Message-ID:  <20200706020000.6b602c3f@mscad14>

next in thread | raw e-mail | index | archive | help

Greetings!

 Just a quick heads-up that clang fails to detect CPU features correctly
 in some cases when compiling with -march=native; this affects at least
 the following ports:
  -- graphics/opencv: when built on a Xeon E3120, fails to execute [0].
     Workaround: add '-mno-popcnt' to CFLAGS, CPPFLAGS, CXXFLAGS in
                /etc/make.conf, mess with the source to make it compile.
     This might be purely a bug in opencv, but I recall that there are
     problems with other ports as well if I don't keep "-mno-popcnt" in
     FLAGS.
  -- devel/cargo-c, multimedia/librav1e: fail to build on Pentium
     G3220 [1]. Workaround: change CPUTYPE to 'westmere' in
                            /etc/make.conf to disable AVX ('-mno-avx'
                            alone does not help).

 Could someone please have a look to see if this is easily fixable,
 and/or forward the bug report upstream?


[0] # opencv_version
******************************************************************
* FATAL ERROR:                                                   *
* This OpenCV build doesn't support current CPU/HW configuration *
*                                                                *
* Use OPENCV_DUMP_CONFIG=1 environment variable for details      *
******************************************************************

Required baseline features:
SSE - OK
SSE - OK
SSE2 - OK
SSE2 - OK
SSE3 - OK
SSE3 - OK
SSSE3 - OK
SSSE3 - OK
SSE4.1 - OK
SSE4.1 - OK
POPCNT - NOT AVAILABLE
POPCNT - NOT AVAILABLE

[1] /usr/ports/devel/cargo-c
   Compiling hex v0.4.2
     Running `/usr/local/bin/rustc --crate-name hex --edition=2018 /usr/ports/devel/cargo-c/work/cargo-c-0.6.7/cargo-crates/hex-0.4.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=2 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=5d66a3cbee41d9cd -C extra-filename=-5d66a3cbee41d9cd --out-dir /usr/ports/devel/cargo-c/work/target/release/deps -L dependency=/usr/ports/devel/cargo-c/work/target/release/deps --cap-lints allow -C target-cpu=native -C target-feature=-avx -C target-feature=-avx2 -C target-feature=-sse-unaligned-mem -C linker=cc -C link-arg=-fstack-protector-strong`
     Running `/usr/ports/devel/cargo-c/work/target/release/build/libc-ea90492b731ea9bd/build-script-build`
error: failed to run custom build command for `libc v0.2.71`

Caused by:
  process didn't exit successfully: `/usr/ports/devel/cargo-c/work/target/release/build/libc-ea90492b731ea9bd/build-script-build` (signal: 4, SIGILL: illegal instruction)
*** Error code 101


-- 
[SorAlx]  ridin' VN2000 Classic LT



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200706020000.6b602c3f>