> On 10 Aug 2020, at 09:31, Jonathan DEKHTIAR <cont...@jonathandekhtiar.eu> 
> wrote:
> 
> I hope it won't be obscure. But sometimes, you **need** to compile with the 
> same compiler even if you don't exploit specific compiler features. Namely 
> for "Bug Compatibility" reasons: 
> https://en.wikipedia.org/wiki/Bug_compatibility 
> <https://en.wikipedia.org/wiki/Bug_compatibility>
> 
> When you work with low level libraries and tend to access hardware or driver 
> libraries (think GPUs, FPGAs, etc.) in many cases, compiling with GCC or 
> CLANG or whatever compiler has been used to compile the libraries you are 
> using is essential.
> This is a very common issues when working on specific hardware or embedded 
> software. Compilers are not "perfect" they have bugs like any other pieces (I 
> know we tend to forget it). Sometimes we don't care, sometimes we do. And 
> actually now that Deep Learning and Machine learning is really a big thing. 
> "Bug Compatibility" is an important issue. Try compiling CUDA code with the 
> wrong compiler: I wish you good luck in your debugging :D 

CUDA and embedded systems are not most extensions.  For a lot of software the 
specific compiler used is not an issue, except for compatibility (C++ ABI, 
runtime ABI for the C runtime).

Note that I reacted to a statement that a setup.py is always written for a 
specific compiler, which is untrue. Most setup.py files with extensions don’t 
specify a compiler at all, but rely on the compiler detection from 
distutils/setuptools. 

Ronald


> 
> Jonathan
> 
> 
> ---- Le lun., 10 août 2020 00:07:54 -0700 Ronald Oussoren via Distutils-SIG 
> <distutils-sig@python.org> écrit ----
> 
> 
> 
> > On 9 Aug 2020, at 18:59, David Mathog <dmat...@gmail.com 
> > <mailto:dmat...@gmail.com>> wrote: 
> > 
> > On Sat, Aug 8, 2020 at 8:15 PM Jonathan DEKHTIAR 
> > <cont...@jonathandekhtiar.eu <mailto:cont...@jonathandekhtiar.eu>> wrote: 
> >> 
> >> So do you plan on "managing" which version of GCC or g++ people have and 
> >> issue a warning if they don't have the good one? 
> > 
> > A setup.py will always be written for a particular compiler, or maybe 
> > it will handle a couple, but they never handle a "general compiler". 
> 
> Except that almost all extensions written in C require a “general C 
> compiler”, not some version of GCC. 
> 
> > That was why the example in spec 
> > 
> > Requires-External C 
> > 
> > never made sense. It always should have been something like 
> > 
> > Requires-External gcc (>4.0) 
> 
> Not unless you write code that uses features specific to GCC, and even then 
> it is questionable as there are several other compilers that implement a 
> large subset of GCC language extensions (at least icc and clang). 
> 
> Ronald 
> 
> — 
> 
> Twitter / micro.blog: @ronaldoussoren 
> Blog: https://blog.ronaldoussoren.net/ <https://blog.ronaldoussoren.net/>
> --
> Distutils-SIG mailing list -- distutils-sig@python.org 
> <mailto:distutils-sig@python.org>
> To unsubscribe send an email to distutils-sig-le...@python.org 
> <mailto:distutils-sig-le...@python.org>
> https://mail.python.org/mailman3/lists/distutils-sig.python.org/ 
> <https://mail.python.org/mailman3/lists/distutils-sig.python.org/>
> Message archived at 
> https://mail.python.org/archives/list/distutils-sig@python.org/message/MPG2S4YHMCCNL7K2FQ2X6GF4ZJ5T7W2I/
>  
> <https://mail.python.org/archives/list/distutils-sig@python.org/message/MPG2S4YHMCCNL7K2FQ2X6GF4ZJ5T7W2I/>
> 
> 

--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/archives/list/distutils-sig@python.org/message/SQ7I27DHGLQXGVT4IBUQUGUJ2PWJIHQB/

Reply via email to