On 31.10.2017 19:23, Wes Turner wrote:
Maybe the anaconda team has some insight on a standard way to capture
(& configure) compiler versions and flags in package metadata?
From
https://www.anaconda.com/blog/developer-blog/announcing-the-release-of-anaconda-distribution-5-0/
:
> The Anaconda 5.0 release used very modern compilers to rebuild
almost everything (~99.5%) provided in the installers for x86 Linux
and MacOS. This enables Anaconda users to get the benefits of the
latest compilers— still allowing support for older operating
systems—back to MacOS 10.9 and CentOS 6. Our own builds of GCC 7.2
(Linux) and Clang 4.0.1 (MacOS) are used, and every reasonable
security flag has been enabled. CFLAGS and CXXFLAGS are no longer
managed by each package; instead compiler activation sets them globally.
>
> The packages built with the new compilers are in a different channel
from packages built the old way, and as we build out this new channel,
we will eventually be able to change the default experience to only
using these packages. Interested in using this approach to build your
own conda packages? Stay tuned for a more developer-focused blog post!
It's all the same -- all packages are supposed to be built with the same
compiler settings.
So there's no problem of saving the flags into package metadata and
checking compatibility with the local system.
There's, in fact, the same problem of potential unchecked
incompatibility if a package is compiled in a different environment: see
https://stackoverflow.com/questions/46912969/osx-c14-compiler-not-detected-multiple-versions-of-gcc-when-compiling-graph
(in that case, it's a different compiler version).
--
Regards,
Ivan
_______________________________________________
Distutils-SIG maillist - Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig