New submission from John-Mark <johnma...@gmail.com>:

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

https://github.com/python/cpython/blob/894331838b256412c95d54051ec46a1cb96f52e7/configure#L7546

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.

----------
components: Build
messages: 357755
nosy: jmaargh
priority: normal
severity: normal
status: open
title: Flaky detection of compiler vendor
type: compile error
versions: Python 2.7, Python 3.5, Python 3.6, Python 3.7, Python 3.8, Python 3.9

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue38961>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to