failed to build llvm since 25de7691a0e27c29c8d783a22373cc265571f5e9 on AMD platform

Hi

we observed that below errors occur on AMD platform since 25de7691a0e27c29c8d783a22373cc265571f5e9

root@lkp-opteron1 /opt/rootfs/llvm_project/src/build# cmake -DCMAKE_BUILD_TYPE=release -DLLVM_ENABLE_PROJECTS=clang -G "Unix Makefiles" ../llvm -DCMAKE_INSTALL_PREFIX=/opt/cross/
-- clang project is enabled
-- clang-tools-extra project is disabled
-- compiler-rt project is disabled
-- debuginfo-tests project is disabled
-- libclc project is disabled
-- libcxx project is disabled
-- libcxxabi project is disabled
-- libunwind project is disabled
-- lld project is disabled
-- lldb project is disabled
-- llgo project is disabled
-- openmp project is disabled
-- parallel-libs project is disabled
-- polly project is disabled
-- pstl project is disabled
-- Could NOT find Z3: Found unsuitable version "0.0.0", but required is at least "4.7.1" (found Z3_LIBRARIES-NOTFOUND)
-- Could NOT find LibXml2 (missing:  LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR) 
-- Native target architecture is X86
-- Threads enabled.
-- Doxygen disabled.
-- Go bindings disabled.
-- Could NOT find OCaml (missing:  OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) 
-- Could NOT find OCaml (missing:  OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) 
-- OCaml bindings disabled.
-- Could NOT find Python module pygments
-- Could NOT find Python module pygments.lexers.c_cpp
-- Could NOT find Python module yaml
-- LLVM host triple: x86_64-unknown-linux-gnu
-- LLVM default target triple: x86_64-unknown-linux-gnu
-- Building with -fPIC
CMake Error at cmake/modules/HandleLLVMOptions.cmake:466 (message):
  The host compiler does not support '-std=c++11'.
Call Stack (most recent call first):
  CMakeLists.txt:668 (include)

-- Configuring incomplete, errors occurred!
See also "/opt/rootfs/llvm_project/src/build/CMakeFiles/CMakeOutput.log".
See also "/opt/rootfs/llvm_project/src/build/CMakeFiles/CMakeError.log".

CPUINFO:
root@lkp-opteron1 /opt/rootfs/llvm_project/src/build# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                32
On-line CPU(s) list:   0-31
Thread(s) per core:    2
Core(s) per socket:    8
Socket(s):             2
NUMA node(s):          4
Vendor ID:             AuthenticAMD
CPU family:            21
Model:                 1
Model name:            AMD Opteron(TM) Processor 6276
Stepping:              2
CPU MHz:               1487.966
CPU max MHz:           2300.0000
CPU min MHz:           1400.0000
BogoMIPS:              4599.97
Virtualization:        AMD-V
L1d cache:             16K
L1i cache:             64K
L2 cache:              2048K
L3 cache:              6144K
NUMA node0 CPU(s):     0-7
NUMA node1 CPU(s):     8-15
NUMA node2 CPU(s):     16-23
NUMA node3 CPU(s):     24-31
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid amd_dcm aperfmperf pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 nodeid_msr topoext perfctr_core perfctr_nb cpb hw_pstate ssbd vmmcall arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold

OS INFO on Debian 8:
root@lkp-opteron1 /opt/rootfs/llvm_project/src/build# dpkg -l g++ cmake
Desired=Unknown/Install/Remove/Purge/Hold

The host compiler failed to build a sample with ‘-std=c++11’. This could be a simple misconfiguration of your host toolchain, missing libraries, etc. Check those cmake error logs to see what in particular weren’t wrong.

LKP framework can guarantee that all the software environment are same on AMD and INTEL platform.
INTEL platform always work well, after revert this patch, AMD works well.

we tried below commit on AMD.
1) 25de7691a0e27c29c8d783a22373cc265571f5e9: bad
2) a82235843b102202766115e10003c9465a8b83ae: good

the error logs(build/CMakeFiles/CMakeError.log) has no difference b/w 1) and 2) on AMD platform

Thanks

Are you using the same build dir for both builds? If so, did you clear the cache, i.e., delete the CMakeCache.txt file?

The reason I ask is that when this patch sets LLVM_CXX_STD in the CACHE, it doesn’t use FORCE. That means that if something was already there, it won’t get overwritten.

Your toolchain that you're using to build isn't accepting the
-std=c++11 option. I'm not sure what to say more than what anyone else
said. I suggest doing a full clean and rebuild and also verifying what
compiler it's attempting to use.

Your toolchain that you're using to build isn't accepting the
-std=c++11 option. I'm not sure what to say more than what anyone else
said. I suggest doing a full clean and rebuild and also verifying what
compiler it's attempting to use.

Indeed, after a cleanup, errors gone.

thanks for your help.

Thanks