The configure script for building what appears to be any version of python (I've manually checked 2.7, 3.6.6, and master) uses simple substring-in-path checks to determine the compiler vendor. This is problematic because it is very easy for it to produce very confusing false-positives.
This appeared for me when compiling with a custom version of clang located at
/home/riccardo/some/path, which caused this line
to mistakenly assume an ICC configuration (because icc is a substring of riccardo). A quick check through the script reveals that compiler vendor detection in the script doesn't appear to be unified and are mostly similarly flaky.
Other projects compile a small program that checks for defines, or parses the output of $CC --version or similar.
Activity
jmaargh commented on Dec 3, 2019
The configure script for building what appears to be any version of python (I've manually checked 2.7, 3.6.6, and master) uses simple substring-in-path checks to determine the compiler vendor. This is problematic because it is very easy for it to produce very confusing false-positives.
This appeared for me when compiling with a custom version of clang located at
/home/riccardo/some/path, which caused this line
cpython/configure
Line 7546 in 8943318
to mistakenly assume an ICC configuration (because icc is a substring of riccardo). A quick check through the script reveals that compiler vendor detection in the script doesn't appear to be unified and are mostly similarly flaky.
Other projects compile a small program that checks for defines, or parses the output of $CC --version or similar.
encukou commented on Oct 15, 2026
This was fixed in #117815.