> 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/