[Python-Dev] GCC version compatibility

David Abrahams dave at boost-consulting.com
Sun Jul 10 15:38:35 CEST 2005


Christoph Ludwig <cludwig at cdc.informatik.tu-darmstadt.de> writes:
> --with-cxx=<compiler>: If you plan to use C++ extension modules, then on some
> platform you need to compile python's main() function with the C++
> compiler. With this option, make will use <compiler> to compile main()
> *and* to link the python executable. It is likely that the resulting
> executable depends on the C++ runtime library of <compiler>.
>> Note there are platforms that do not require you to build Python with
> a C++ compiler in order to use C++ extension modules. E.g., x86 Linux
> with ELF shared binaries and GCC 3.x, 4.x is such a platform. We
> recommend that you configure Python --without-cxx on those platforms
> to avoid unnecessary dependencies.

I don't think that's strong enough. What happens is that dynamically
loaded Python extension modules built with other, ABI-compatible
versions of G++ may *crash*.
> If you need to compile main() with <compiler>, but your platform does
> not require that you also link the python executable with <compiler> 
> (e.g., <example platform>), then set LINKCC='$(PURIFY) $(CC)' prior to
> calling make. Then the python executable will not depend on the C++
> runtime library of <compiler>.

Are we sure we have an actual use case for the above? Doesn't
--without-cxx cover all the actual cases we know about?
> BTW, I'd also change the short explanation output by `configure --help'.
> Something like:
>> AC_HELP_STRING(--with-cxx=<compiler>, 
> use <compiler> to compile and link main())
>> In Python 2.4.1, the help message says "enable C++ support". That made me use
> this option even though it turned out it is not necessary on my platform.

Your suggestion is simple and powerful; I like it!
-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /