You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 commentedon Dec 3, 2019
The
configurescript 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
clanglocated at/home/riccardo/some/path, which caused this linecpython/configure
Line 7546 in 8943318
to mistakenly assume an ICC configuration (because
iccis a substring ofriccardo). 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 --versionor similar.encukou commentedon Oct 15, 2026
This was fixed in #117815.