Coder Social home page Coder Social logo

conda-forge / ctng-compiler-activation-feedstock Goto Github PK

View Code? Open in Web Editor NEW
12.0 11.0 22.0 279 KB

A conda-smithy repository for ctng-compiler-activation.

License: BSD 3-Clause "New" or "Revised" License

Shell 98.53% C 0.34% C++ 0.90% CMake 0.23%

ctng-compiler-activation-feedstock's Introduction

About ctng-compiler-activation-feedstock

Feedstock license: BSD-3-Clause

About ctng-compiler-activation

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: Activation scripts for gcc, g++, gfortran and binutils

About binutils_linux-ppc64le

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: The GNU Binutils are a collection of binary tools (activation scripts)

About gcc_bootstrap_linux-ppc64le

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: GPL

Summary: GCC bootstrap compilers for building deps

About clang_linux-ppc64le

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: Clang Compiler (activation scripts)

About gcc_linux-ppc64le

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: GNU C Compiler (activation scripts)

About clangxx_linux-ppc64le

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: Clang C++ Compiler (activation scripts)

About gfortran_linux-ppc64le

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: GNU Fortran Compiler (activation scripts)

About gxx_linux-ppc64le

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: GNU C++ Compiler (activation scripts)

About binutils_linux-aarch64

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: The GNU Binutils are a collection of binary tools (activation scripts)

About gcc_bootstrap_linux-aarch64

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: GPL

Summary: GCC bootstrap compilers for building deps

About clang_linux-aarch64

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: Clang Compiler (activation scripts)

About gcc_linux-aarch64

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: GNU C Compiler (activation scripts)

About clangxx_linux-aarch64

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: Clang C++ Compiler (activation scripts)

About gfortran_linux-aarch64

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: GNU Fortran Compiler (activation scripts)

About gxx_linux-aarch64

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: GNU C++ Compiler (activation scripts)

About binutils_linux-s390x

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: The GNU Binutils are a collection of binary tools (activation scripts)

About gcc_bootstrap_linux-s390x

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: GPL

Summary: GCC bootstrap compilers for building deps

About gcc_linux-s390x

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: GNU C Compiler (activation scripts)

About gfortran_linux-s390x

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: GNU Fortran Compiler (activation scripts)

About gxx_linux-s390x

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: GNU C++ Compiler (activation scripts)

About binutils_linux-64

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: The GNU Binutils are a collection of binary tools (activation scripts)

About gcc

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: GNU C native compiler (symlinks)

About gcc_bootstrap_linux-64

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: GPL

Summary: GCC bootstrap compilers for building deps

About clang_linux-64

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: Clang Compiler (activation scripts)

About gcc_linux-64

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: GNU C Compiler (activation scripts)

About gfortran

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: GNU Fortran native compiler (symlinks)

About gxx

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: GNU C++ native compiler (symlinks)

About clangxx_linux-64

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: Clang C++ Compiler (activation scripts)

About gfortran_linux-64

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: GNU Fortran Compiler (activation scripts)

About gxx_linux-64

Home: https://github.com/conda-forge/ctng-compiler-activation-feedstock

Package license: BSD-3-Clause

Summary: GNU C++ Compiler (activation scripts)

Current build status

Azure
VariantStatus
linux_64_conda_glibc_ver2.12cross_target_platformlinux-64ctng_gcc11.4.0 variant
linux_64_conda_glibc_ver2.12cross_target_platformlinux-64ctng_gcc12.3.0 variant
linux_64_conda_glibc_ver2.12cross_target_platformlinux-64ctng_gcc13.2.0 variant
linux_64_conda_glibc_ver2.17cross_target_platformlinux-aarch64ctng_gcc11.4.0 variant
linux_64_conda_glibc_ver2.17cross_target_platformlinux-aarch64ctng_gcc12.3.0 variant
linux_64_conda_glibc_ver2.17cross_target_platformlinux-aarch64ctng_gcc13.2.0 variant
linux_64_conda_glibc_ver2.17cross_target_platformlinux-ppc64lectng_gcc11.4.0 variant
linux_64_conda_glibc_ver2.17cross_target_platformlinux-ppc64lectng_gcc12.3.0 variant
linux_64_conda_glibc_ver2.17cross_target_platformlinux-ppc64lectng_gcc13.2.0 variant
linux_64_conda_glibc_ver2.17cross_target_platformlinux-s390xctng_gcc11.4.0 variant
linux_64_conda_glibc_ver2.17cross_target_platformlinux-s390xctng_gcc12.3.0 variant
linux_64_conda_glibc_ver2.17cross_target_platformlinux-s390xctng_gcc13.2.0 variant
linux_aarch64_conda_glibc_ver2.12cross_target_platformlinux-64ctng_gcc11.4.0 variant
linux_aarch64_conda_glibc_ver2.12cross_target_platformlinux-64ctng_gcc12.3.0 variant
linux_aarch64_conda_glibc_ver2.12cross_target_platformlinux-64ctng_gcc13.2.0 variant
linux_aarch64_conda_glibc_ver2.17cross_target_platformlinux-aarch64ctng_gcc11.4.0 variant
linux_aarch64_conda_glibc_ver2.17cross_target_platformlinux-aarch64ctng_gcc12.3.0 variant
linux_aarch64_conda_glibc_ver2.17cross_target_platformlinux-aarch64ctng_gcc13.2.0 variant
linux_aarch64_conda_glibc_ver2.17cross_target_platformlinux-ppc64lectng_gcc11.4.0 variant
linux_aarch64_conda_glibc_ver2.17cross_target_platformlinux-ppc64lectng_gcc12.3.0 variant
linux_aarch64_conda_glibc_ver2.17cross_target_platformlinux-ppc64lectng_gcc13.2.0 variant
linux_aarch64_conda_glibc_ver2.17cross_target_platformlinux-s390xctng_gcc11.4.0 variant
linux_aarch64_conda_glibc_ver2.17cross_target_platformlinux-s390xctng_gcc12.3.0 variant
linux_aarch64_conda_glibc_ver2.17cross_target_platformlinux-s390xctng_gcc13.2.0 variant
linux_ppc64le_conda_glibc_ver2.12cross_target_platformlinux-64ctng_gcc11.4.0 variant
linux_ppc64le_conda_glibc_ver2.12cross_target_platformlinux-64ctng_gcc12.3.0 variant
linux_ppc64le_conda_glibc_ver2.12cross_target_platformlinux-64ctng_gcc13.2.0 variant
linux_ppc64le_conda_glibc_ver2.17cross_target_platformlinux-aarch64ctng_gcc11.4.0 variant
linux_ppc64le_conda_glibc_ver2.17cross_target_platformlinux-aarch64ctng_gcc12.3.0 variant
linux_ppc64le_conda_glibc_ver2.17cross_target_platformlinux-aarch64ctng_gcc13.2.0 variant
linux_ppc64le_conda_glibc_ver2.17cross_target_platformlinux-ppc64lectng_gcc11.4.0 variant
linux_ppc64le_conda_glibc_ver2.17cross_target_platformlinux-ppc64lectng_gcc12.3.0 variant
linux_ppc64le_conda_glibc_ver2.17cross_target_platformlinux-ppc64lectng_gcc13.2.0 variant
linux_ppc64le_conda_glibc_ver2.17cross_target_platformlinux-s390xctng_gcc11.4.0 variant
linux_ppc64le_conda_glibc_ver2.17cross_target_platformlinux-s390xctng_gcc12.3.0 variant
linux_ppc64le_conda_glibc_ver2.17cross_target_platformlinux-s390xctng_gcc13.2.0 variant
linux_s390x_conda_glibc_ver2.12cross_target_platformlinux-64ctng_gcc11.4.0 variant
linux_s390x_conda_glibc_ver2.12cross_target_platformlinux-64ctng_gcc12.3.0 variant
linux_s390x_conda_glibc_ver2.12cross_target_platformlinux-64ctng_gcc13.2.0 variant
linux_s390x_conda_glibc_ver2.17cross_target_platformlinux-aarch64ctng_gcc11.4.0 variant
linux_s390x_conda_glibc_ver2.17cross_target_platformlinux-aarch64ctng_gcc12.3.0 variant
linux_s390x_conda_glibc_ver2.17cross_target_platformlinux-aarch64ctng_gcc13.2.0 variant
linux_s390x_conda_glibc_ver2.17cross_target_platformlinux-ppc64lectng_gcc11.4.0 variant
linux_s390x_conda_glibc_ver2.17cross_target_platformlinux-ppc64lectng_gcc12.3.0 variant
linux_s390x_conda_glibc_ver2.17cross_target_platformlinux-ppc64lectng_gcc13.2.0 variant
linux_s390x_conda_glibc_ver2.17cross_target_platformlinux-s390xctng_gcc11.4.0 variant
linux_s390x_conda_glibc_ver2.17cross_target_platformlinux-s390xctng_gcc12.3.0 variant
linux_s390x_conda_glibc_ver2.17cross_target_platformlinux-s390xctng_gcc13.2.0 variant
osx_64_conda_glibc_ver2.12cross_target_platformlinux-64ctng_gcc11.4.0 variant
osx_64_conda_glibc_ver2.12cross_target_platformlinux-64ctng_gcc12.3.0 variant
osx_64_conda_glibc_ver2.12cross_target_platformlinux-64ctng_gcc13.2.0 variant
osx_64_conda_glibc_ver2.17cross_target_platformlinux-aarch64ctng_gcc11.4.0 variant
osx_64_conda_glibc_ver2.17cross_target_platformlinux-aarch64ctng_gcc12.3.0 variant
osx_64_conda_glibc_ver2.17cross_target_platformlinux-aarch64ctng_gcc13.2.0 variant
osx_64_conda_glibc_ver2.17cross_target_platformlinux-ppc64lectng_gcc11.4.0 variant
osx_64_conda_glibc_ver2.17cross_target_platformlinux-ppc64lectng_gcc12.3.0 variant
osx_64_conda_glibc_ver2.17cross_target_platformlinux-ppc64lectng_gcc13.2.0 variant
osx_64_conda_glibc_ver2.17cross_target_platformlinux-s390xctng_gcc11.4.0 variant
osx_64_conda_glibc_ver2.17cross_target_platformlinux-s390xctng_gcc12.3.0 variant
osx_64_conda_glibc_ver2.17cross_target_platformlinux-s390xctng_gcc13.2.0 variant

Current release info

Name Downloads Version Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms

Installing ctng-compiler-activation

Installing ctng-compiler-activation from the conda-forge channel can be achieved by adding conda-forge to your channels with:

conda config --add channels conda-forge
conda config --set channel_priority strict

Once the conda-forge channel has been enabled, binutils_linux-64, binutils_linux-aarch64, binutils_linux-ppc64le, binutils_linux-s390x, clang_linux-64, clang_linux-aarch64, clang_linux-ppc64le, clangxx_linux-64, clangxx_linux-aarch64, clangxx_linux-ppc64le, gcc, gcc_bootstrap_linux-64, gcc_bootstrap_linux-aarch64, gcc_bootstrap_linux-ppc64le, gcc_bootstrap_linux-s390x, gcc_linux-64, gcc_linux-aarch64, gcc_linux-ppc64le, gcc_linux-s390x, gfortran, gfortran_linux-64, gfortran_linux-aarch64, gfortran_linux-ppc64le, gfortran_linux-s390x, gxx, gxx_linux-64, gxx_linux-aarch64, gxx_linux-ppc64le, gxx_linux-s390x can be installed with conda:

conda install binutils_linux-64 binutils_linux-aarch64 binutils_linux-ppc64le binutils_linux-s390x clang_linux-64 clang_linux-aarch64 clang_linux-ppc64le clangxx_linux-64 clangxx_linux-aarch64 clangxx_linux-ppc64le gcc gcc_bootstrap_linux-64 gcc_bootstrap_linux-aarch64 gcc_bootstrap_linux-ppc64le gcc_bootstrap_linux-s390x gcc_linux-64 gcc_linux-aarch64 gcc_linux-ppc64le gcc_linux-s390x gfortran gfortran_linux-64 gfortran_linux-aarch64 gfortran_linux-ppc64le gfortran_linux-s390x gxx gxx_linux-64 gxx_linux-aarch64 gxx_linux-ppc64le gxx_linux-s390x

or with mamba:

mamba install binutils_linux-64 binutils_linux-aarch64 binutils_linux-ppc64le binutils_linux-s390x clang_linux-64 clang_linux-aarch64 clang_linux-ppc64le clangxx_linux-64 clangxx_linux-aarch64 clangxx_linux-ppc64le gcc gcc_bootstrap_linux-64 gcc_bootstrap_linux-aarch64 gcc_bootstrap_linux-ppc64le gcc_bootstrap_linux-s390x gcc_linux-64 gcc_linux-aarch64 gcc_linux-ppc64le gcc_linux-s390x gfortran gfortran_linux-64 gfortran_linux-aarch64 gfortran_linux-ppc64le gfortran_linux-s390x gxx gxx_linux-64 gxx_linux-aarch64 gxx_linux-ppc64le gxx_linux-s390x

It is possible to list all of the versions of binutils_linux-64 available on your platform with conda:

conda search binutils_linux-64 --channel conda-forge

or with mamba:

mamba search binutils_linux-64 --channel conda-forge

Alternatively, mamba repoquery may provide more information:

# Search all versions available on your platform:
mamba repoquery search binutils_linux-64 --channel conda-forge

# List packages depending on `binutils_linux-64`:
mamba repoquery whoneeds binutils_linux-64 --channel conda-forge

# List dependencies of `binutils_linux-64`:
mamba repoquery depends binutils_linux-64 --channel conda-forge

About conda-forge

Powered by NumFOCUS

conda-forge is a community-led conda channel of installable packages. In order to provide high-quality builds, the process has been automated into the conda-forge GitHub organization. The conda-forge organization contains one repository for each of the installable packages. Such a repository is known as a feedstock.

A feedstock is made up of a conda recipe (the instructions on what and how to build the package) and the necessary configurations for automatic building using freely available continuous integration services. Thanks to the awesome service provided by Azure, GitHub, CircleCI, AppVeyor, Drone, and TravisCI it is possible to build and upload installable packages to the conda-forge anaconda.org channel for Linux, Windows and OSX respectively.

To manage the continuous integration and simplify feedstock maintenance conda-smithy has been developed. Using the conda-forge.yml within this repository, it is possible to re-render all of this feedstock's supporting files (e.g. the CI configuration files) with conda smithy rerender.

For more information please check the conda-forge documentation.

Terminology

feedstock - the conda recipe (raw material), supporting scripts and CI configuration.

conda-smithy - the tool which helps orchestrate the feedstock. Its primary use is in the construction of the CI .yml files and simplify the management of many feedstocks.

conda-forge - the place where the feedstock and smithy live and work to produce the finished article (built conda distributions)

Updating ctng-compiler-activation-feedstock

If you would like to improve the ctng-compiler-activation recipe or build a new package version, please fork this repository and submit a PR. Upon submission, your changes will be run on the appropriate platforms to give the reviewer an opportunity to confirm that the changes result in a successful build. Once merged, the recipe will be re-built and uploaded automatically to the conda-forge channel, whereupon the built conda packages will be available for everybody to install and use from the conda-forge channel. Note that all branches in the conda-forge/ctng-compiler-activation-feedstock are immediately built and any created packages are uploaded, so PRs should be based on branches in forks and branches in the main repository should only be used to build distinct package versions.

In order to produce a uniquely identifiable distribution:

  • If the version of a package is not being increased, please add or increase the build/number.
  • If the version of a package is being increased, please remember to return the build/number back to 0.

Feedstock Maintainers

ctng-compiler-activation-feedstock's People

Contributors

beckermr avatar bluescarni avatar chrisburr avatar conda-forge-admin avatar conda-forge-curator[bot] avatar duncanmmacleod avatar github-actions[bot] avatar h-vetinari avatar hmaarrfk avatar isuruf avatar izahn avatar jdblischak avatar ktlim avatar pearu avatar timsnyder avatar wentzell avatar xhochy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ctng-compiler-activation-feedstock's Issues

No support for fish shell

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

When using the conda-forge compiler toolchain under a bash shell the activation scripts add enviornment variables such as CXXFLAGS, LDFLAGS, CMAKE_PREFIX_PATH, etc. When the same enviornment is activated in a fish shell no such variables exist causing conda builds to fail.

We should have consistent environments across all shells that conda supports. Otherwise we don't have reproducible builds between shells.

Installed packages

_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
_sysroot_linux-64_curr_repodata_hack 3                   h5bd9786_13    conda-forge
abseil-cpp                20211102.0           h27087fc_1    conda-forge
aiobotocore               2.3.3              pyhd8ed1ab_0    conda-forge
aiohttp                   3.8.1           py310h5764c6d_1    conda-forge
aioitertools              0.10.0             pyhd8ed1ab_0    conda-forge
aiosignal                 1.2.0              pyhd8ed1ab_0    conda-forge
arrow-cpp                 7.0.0           py310h8cf3212_7_cuda    conda-forge
arrow-cpp-proc            3.0.0                      cuda    conda-forge
async-timeout             4.0.2              pyhd8ed1ab_0    conda-forge
attrs                     21.4.0             pyhd8ed1ab_0    conda-forge
aws-c-cal                 0.5.11               h95a6274_0    conda-forge
aws-c-common              0.6.2                h7f98852_0    conda-forge
aws-c-event-stream        0.2.7               h3541f99_13    conda-forge
aws-c-io                  0.10.5               hfb6a706_0    conda-forge
aws-checksums             0.1.11               ha31a3da_7    conda-forge
aws-sdk-cpp               1.8.186              hb4091e7_3    conda-forge
binutils                  2.36.1               hdd6e379_2    conda-forge
binutils_impl_linux-64    2.36.1               h193b22a_2    conda-forge
binutils_linux-64         2.36                hf3e587d_10    conda-forge
botocore                  1.24.21            pyhd8ed1ab_1    conda-forge
brotlipy                  0.7.0           py310h5764c6d_1004    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.18.1               h7f98852_0    conda-forge
c-compiler                1.3.0                h7f98852_0    conda-forge
ca-certificates           2022.5.18.1          ha878542_0    conda-forge
certifi                   2022.5.18.1     py310hff52083_0    conda-forge
cffi                      1.15.0          py310h0fdd8cc_0    conda-forge
charset-normalizer        2.0.12             pyhd8ed1ab_0    conda-forge
cmake                     3.23.2               h5432695_0    conda-forge
cryptography              37.0.2          py310h597c629_0    conda-forge
cudatoolkit               11.5.1               hcf5317a_9    nvidia
cxx-compiler              1.3.0                h4bd325d_0    conda-forge
expat                     2.4.8                h27087fc_0    conda-forge
frozenlist                1.3.0           py310h5764c6d_1    conda-forge
fsspec                    2022.5.0           pyhd8ed1ab_0    conda-forge
gcc                       9.4.0               h192d537_10    conda-forge
gcc_impl_linux-64         9.4.0               h03d3576_16    conda-forge
gcc_linux-64              9.4.0               h391b98a_10    conda-forge
gflags                    2.2.2             he1b5a44_1004    conda-forge
glog                      0.6.0                h6f12383_0    conda-forge
grpc-cpp                  1.46.3               hc275302_0    conda-forge
gxx                       9.4.0               h192d537_10    conda-forge
gxx_impl_linux-64         9.4.0               h03d3576_16    conda-forge
gxx_linux-64              9.4.0               h0316aca_10    conda-forge
heapdict                  1.0.1                    pypi_0    pypi
idna                      3.3                pyhd8ed1ab_0    conda-forge
jmespath                  1.0.0              pyhd8ed1ab_0    conda-forge
kernel-headers_linux-64   3.10.0              h4a8ded7_13    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
krb5                      1.19.3               h3790be6_0    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
libblas                   3.9.0           15_linux64_openblas    conda-forge
libbrotlicommon           1.0.9                h166bdaf_7    conda-forge
libbrotlidec              1.0.9                h166bdaf_7    conda-forge
libbrotlienc              1.0.9                h166bdaf_7    conda-forge
libcblas                  3.9.0           15_linux64_openblas    conda-forge
libcrc32c                 1.1.2                h9c3ff4c_0    conda-forge
libcurl                   7.83.1               h7bff187_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h516909a_1    conda-forge
libevent                  2.1.10               h9b69904_4    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-devel_linux-64     9.4.0               hd854feb_16    conda-forge
libgcc-ng                 12.1.0              h8d9b700_16    conda-forge
libgfortran-ng            12.1.0              h69a702a_16    conda-forge
libgfortran5              12.1.0              hdcd56e2_16    conda-forge
libgomp                   12.1.0              h8d9b700_16    conda-forge
libgoogle-cloud           1.40.2               hefc27d0_0    conda-forge
liblapack                 3.9.0           15_linux64_openblas    conda-forge
libllvm11                 11.1.0               hf817b99_3    conda-forge
libnghttp2                1.47.0               h727a467_0    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libopenblas               0.3.20          pthreads_h78a6416_0    conda-forge
libprotobuf               3.20.1               h6239696_0    conda-forge
libsanitizer              9.4.0               h79bfe98_16    conda-forge
libssh2                   1.10.0               ha56f1ee_2    conda-forge
libstdcxx-devel_linux-64  9.4.0               hd854feb_16    conda-forge
libstdcxx-ng              12.1.0              ha89aaad_16    conda-forge
libthrift                 0.16.0               h519c5ea_1    conda-forge
libutf8proc               2.7.0                h7f98852_0    conda-forge
libuuid                   2.32.1            h7f98852_1000    conda-forge
libuv                     1.43.0               h7f98852_0    conda-forge
libzlib                   1.2.12               h166bdaf_0    conda-forge
llvmlite                  0.38.1          py310h58363a5_0    conda-forge
lz4-c                     1.9.3                h9c3ff4c_1    conda-forge
multidict                 6.0.2           py310h5764c6d_1    conda-forge
ncurses                   6.3                  h27087fc_1    conda-forge
numba                     0.55.1          py310ha5257ce_1    conda-forge
numpy                     1.21.6          py310h45f3432_0    conda-forge
openssl                   1.1.1o               h166bdaf_0    conda-forge
orc                       1.7.3                h6c59b99_1    conda-forge
pip                       22.1.2             pyhd8ed1ab_0    conda-forge
ptxcompiler               0.2.0           py310h51d44e1_0    rapidsai
pycparser                 2.21               pyhd8ed1ab_0    conda-forge
pyopenssl                 22.0.0             pyhd8ed1ab_0    conda-forge
pyorc                     0.6.0                    pypi_0    pypi
pysocks                   1.7.1           py310hff52083_5    conda-forge
python                    3.10.5          h582c2e5_0_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python_abi                3.10                    2_cp310    conda-forge
re2                       2022.04.01           h27087fc_0    conda-forge
readline                  8.1.2                h0f457ee_0    conda-forge
rhash                     1.4.1                h7f98852_0    conda-forge
s2n                       1.0.10               h9b69904_0    conda-forge
s3fs                      2022.5.0           pyhd8ed1ab_0    conda-forge
setuptools                62.3.4          py310hff52083_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
snappy                    1.1.9                hbd366e4_1    conda-forge
sqlite                    3.38.5               h4ff8645_0    conda-forge
streamz                   0.6.3                    pypi_0    pypi
sysroot_linux-64          2.17                h4a8ded7_13    conda-forge
tk                        8.6.12               h27826a3_0    conda-forge
toolz                     0.11.2                   pypi_0    pypi
tornado                   6.1                      pypi_0    pypi
typing-extensions         4.2.0                hd8ed1ab_1    conda-forge
typing_extensions         4.2.0              pyha770c72_1    conda-forge
tzdata                    2022a                h191b570_0    conda-forge
urllib3                   1.26.9             pyhd8ed1ab_0    conda-forge
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
wrapt                     1.14.1          py310h5764c6d_0    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
yarl                      1.7.2           py310h5764c6d_2    conda-forge
zict                      2.2.0                    pypi_0    pypi
zlib                      1.2.12               h166bdaf_0    conda-forge
zstd                      1.5.2                h8a70e8d_1    conda-forge

Environment info

active environment : cudf_dev
    active env location : /home/rmaynard/anaconda3/envs/cudf_dev
            shell level : 1
       user config file : /home/rmaynard/.condarc
 populated config files : /home/rmaynard/.condarc
          conda version : 4.12.0
    conda-build version : 3.21.8
         python version : 3.9.12.final.0
       virtual packages : __cuda=11.6=0
                          __linux=5.4.0=0
                          __glibc=2.31=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /home/rmaynard/anaconda3  (writable)
      conda av data dir : /home/rmaynard/anaconda3/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/rmaynard/anaconda3/pkgs
                          /home/rmaynard/.conda/pkgs
       envs directories : /home/rmaynard/anaconda3/envs
                          /home/rmaynard/.conda/envs
               platform : linux-64
             user-agent : conda/4.12.0 requests/2.27.1 CPython/3.9.12 Linux/5.4.0-120-generic ubuntu/20.04.4 glibc/2.31
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

g++ cannot find sys/auxv.h on ubuntu 18.04

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

Without conda, and desired behaviour, albeit with system g++

ubuntu-18.04$ which g++
/usr/bin/g++

ubuntu-18.04$ g++ -V
g++: error: unrecognized command line option โ€˜-Vโ€™
g++: fatal error: no input files
compilation terminated.

ubuntu-18.04$ g++ --version
g++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ubuntu-18.04$ echo '#include <sys/auxv.h>' | g++ -c -x c++ -

ubuntu-18.04$ 

With conda

ubuntu-18.04$ conda activate base
(base) ubuntu-18.04$ conda update conda
Collecting package metadata (current_repodata.json): done
Solving environment: done

# All requested packages already installed.

(base) ubuntu-18.04$ conda -V
conda 22.11.1

(base) ubuntu-18.04$ conda create -n gcc5
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/awf/miniconda3/envs/gcc5



Proceed ([y]/n)? 

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate gcc5
#
# To deactivate an active environment, use
#
#     $ conda deactivate

(base) ubuntu-18.04$ conda activate gcc5

(gcc5) ubuntu-18.04$ conda install cxx-compiler
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/awf/miniconda3/envs/gcc5

  added / updated specs:
    - cxx-compiler


The following NEW packages will be INSTALLED:

  _libgcc_mutex      conda-forge/linux-64::_libgcc_mutex-0.1-conda_forge 
  _openmp_mutex      conda-forge/linux-64::_openmp_mutex-4.5-2_gnu 
  binutils           conda-forge/linux-64::binutils-2.39-hdd6e379_1 
  binutils_impl_lin~ conda-forge/linux-64::binutils_impl_linux-64-2.39-he00db2b_1 
  binutils_linux-64  conda-forge/linux-64::binutils_linux-64-2.39-h5fc0e48_11 
  c-compiler         conda-forge/linux-64::c-compiler-1.5.2-h0b41bf4_0 
  cxx-compiler       conda-forge/linux-64::cxx-compiler-1.5.2-hf52228f_0 
  gcc                conda-forge/linux-64::gcc-11.3.0-h02d0930_11 
  gcc_impl_linux-64  conda-forge/linux-64::gcc_impl_linux-64-11.3.0-hab1b70f_19 
  gcc_linux-64       conda-forge/linux-64::gcc_linux-64-11.3.0-he6f903b_11 
  gxx                conda-forge/linux-64::gxx-11.3.0-h02d0930_11 
  gxx_impl_linux-64  conda-forge/linux-64::gxx_impl_linux-64-11.3.0-hab1b70f_19 
  gxx_linux-64       conda-forge/linux-64::gxx_linux-64-11.3.0-hc203a17_11 
  kernel-headers_li~ conda-forge/noarch::kernel-headers_linux-64-2.6.32-he073ed8_15 
  ld_impl_linux-64   conda-forge/linux-64::ld_impl_linux-64-2.39-hcc3a1bd_1 
  libgcc-devel_linu~ conda-forge/linux-64::libgcc-devel_linux-64-11.3.0-h210ce93_19 
  libgcc-ng          conda-forge/linux-64::libgcc-ng-12.2.0-h65d4601_19 
  libgomp            conda-forge/linux-64::libgomp-12.2.0-h65d4601_19 
  libsanitizer       conda-forge/linux-64::libsanitizer-11.3.0-h239ccf8_19 
  libstdcxx-devel_l~ conda-forge/linux-64::libstdcxx-devel_linux-64-11.3.0-h210ce93_19 
  libstdcxx-ng       conda-forge/linux-64::libstdcxx-ng-12.2.0-h46fd767_19 
  sysroot_linux-64   conda-forge/noarch::sysroot_linux-64-2.12-he073ed8_15 


Proceed ([y]/n)? 


Downloading and Extracting Packages

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

(gcc5) ubuntu-18.04$ which g++ # good outcome
/home/awf/miniconda3/envs/gcc5/bin/g++

(gcc5) ubuntu-18.04$ g++ --version  # good outcome - version 11.3.0
g++ (conda-forge gcc 11.3.0-19) 11.3.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

(gcc5) ubuntu-18.04$ echo '#include <sys/auxv.h>' | g++ -c -x c++ - # bad outcome
<stdin>:1:10: fatal error: sys/auxv.h: No such file or directory
compilation terminated.

With conda, sys/auxv.h is not found.

.condarc is:

(gcc5) ubuntu-18.04$ cat ~/.condarc 
channels:
  - conda-forge
  - defaults
channel_priority: strict

Installed packages

gcc5) ubuntu-18.04$ conda list
# packages in environment at /home/awf/miniconda3/envs/gcc5:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
binutils                  2.39                 hdd6e379_1    conda-forge
binutils_impl_linux-64    2.39                 he00db2b_1    conda-forge
binutils_linux-64         2.39                h5fc0e48_11    conda-forge
c-compiler                1.5.2                h0b41bf4_0    conda-forge
cxx-compiler              1.5.2                hf52228f_0    conda-forge
gcc                       11.3.0              h02d0930_11    conda-forge
gcc_impl_linux-64         11.3.0              hab1b70f_19    conda-forge
gcc_linux-64              11.3.0              he6f903b_11    conda-forge
gxx                       11.3.0              h02d0930_11    conda-forge
gxx_impl_linux-64         11.3.0              hab1b70f_19    conda-forge
gxx_linux-64              11.3.0              hc203a17_11    conda-forge
kernel-headers_linux-64   2.6.32              he073ed8_15    conda-forge
ld_impl_linux-64          2.39                 hcc3a1bd_1    conda-forge
libgcc-devel_linux-64     11.3.0              h210ce93_19    conda-forge
libgcc-ng                 12.2.0              h65d4601_19    conda-forge
libgomp                   12.2.0              h65d4601_19    conda-forge
libsanitizer              11.3.0              h239ccf8_19    conda-forge
libstdcxx-devel_linux-64  11.3.0              h210ce93_19    conda-forge
libstdcxx-ng              12.2.0              h46fd767_19    conda-forge
sysroot_linux-64          2.12                he073ed8_15    conda-forge

Environment info

(gcc5) ubuntu-18.04$ conda info

     active environment : gcc5
    active env location : /home/awf/miniconda3/envs/gcc5
            shell level : 2
       user config file : /home/awf/.condarc
 populated config files : /home/awf/.condarc
          conda version : 22.11.1
    conda-build version : not installed
         python version : 3.8.15.final.0
       virtual packages : __archspec=1=x86_64
                          __glibc=2.27=0
                          __linux=5.4.0=0
                          __unix=0=0
       base environment : /home/awf/miniconda3  (writable)
      conda av data dir : /home/awf/miniconda3/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/awf/miniconda3/pkgs
                          /home/awf/.conda/pkgs
       envs directories : /home/awf/miniconda3/envs
                          /home/awf/.conda/envs
               platform : linux-64
             user-agent : conda/22.11.1 requests/2.28.1 CPython/3.8.15 Linux/5.4.0-64-generic ubuntu/18.04.6 glibc/2.27
                UID:GID : 2753:501
             netrc file : None
           offline mode : False

Don't add -O flags to [C/CXX/F]FLAGS outside of conda-build

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

We are using the conda-forge GNU compiler toolchain for building our packages. We would like to transition to also using the conda-forge GNU compilers for development and debugging. Unfortunately, it looks like when we activate an environment containing the GNU compilers, the activation scripts add the -O2 optimization flag to [C/CXX/F]FLAGS, which ends up being picked up by the make toolchain, and thus removes debug info automatically from our builds:

prm-login:~> conda activate test3
prm-login:~> echo $CXXFLAGS
-fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /gpfs/fs1/mpapadakis/miniconda3/envs/test3/include

If we wanted to use the compilers, we would have to externally remove this flag from [C/CXX/F]FLAGS after conda activation has completed.

The relevant snippet from the activation script:

if [ "${CONDA_BUILD:-0}" = "1" ]; then
  CXXFLAGS_USED="-fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem ${PREFIX}/include -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION} -fdebug-prefix-map=${PREFIX}=/usr/local/src/conda-prefix"
  DEBUG_CXXFLAGS_USED="-fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem ${PREFIX}/include -fdebug-prefix-map=${SRC_DIR}=/usr/local/src/conda/${PKG_NAME}-${PKG_VERSION} -fdebug-prefix-map=${PREFIX}=/usr/local/src/conda-prefix"
else
  CXXFLAGS_USED="-fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem ${CONDA_PREFIX}/include"
  DEBUG_CXXFLAGS_USED="-fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem ${CONDA_PREFIX}/include"
fi

comes from the following lines in the feedstock:

https://github.com/conda-forge/ctng-compiler-activation-feedstock/blob/main/recipe/activate-g%2B%2B.sh#L85-L93

IIUC, the reason for setting these flags outside of conda-build is to improve the chances that a codebase built with these compilers will be ABI-compatible with the pre-built packages in the same conda environment (that were built with similar flags).

I don't believe optimization flags are relevant for this goal. Please correct me if I'm wrong, but I don't think the level of optimization used when compiling a new binary affects whether it is ABI-compatible with a set of existing libraries. Therefore, assuming that the use of the conda-forge compilers outside of conda-build is an expected use case, I think you should not force a level of optimization on users.

I assume a potential fix for this would be to remove -O2 from @CXXFLAGS@ and instead add it explicitly on this line: https://github.com/conda-forge/ctng-compiler-activation-feedstock/blob/main/recipe/activate-g%2B%2B.sh#L88 (and similarly for other flags).

I would note that optimization flags are the most immediately problematic, but the same argument as above could be made for other flags that are set even outside of conda-build, but don't seem relevant to guaranteeing ABI compatibility, e.g. -fmessage-length=0.

Installed packages

# packages in environment at /gpfs/fs1/mpapadakis/miniconda3/envs/test3:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
binutils                  2.36.1               hdd6e379_2    conda-forge
binutils_impl_linux-64    2.36.1               h193b22a_2    conda-forge
binutils_linux-64         2.36                hf3e587d_10    conda-forge
c-compiler                1.4.2                h166bdaf_0    conda-forge
compilers                 1.4.2                ha770c72_0    conda-forge
cxx-compiler              1.4.2                h924138e_0    conda-forge
fortran-compiler          1.4.2                h2a4ca65_0    conda-forge
gcc                       10.3.0              he2824d0_10    conda-forge
gcc_impl_linux-64         10.3.0              hf2f2afa_16    conda-forge
gcc_linux-64              10.3.0              hc39de41_10    conda-forge
gfortran                  10.3.0              h18518b4_10    conda-forge
gfortran_impl_linux-64    10.3.0              h73f4979_16    conda-forge
gfortran_linux-64         10.3.0              hb09a455_10    conda-forge
gxx                       10.3.0              he2824d0_10    conda-forge
gxx_impl_linux-64         10.3.0              hf2f2afa_16    conda-forge
gxx_linux-64              10.3.0              h2593f52_10    conda-forge
kernel-headers_linux-64   2.6.32              he073ed8_15    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
libgcc-devel_linux-64     10.3.0              he6cfe16_16    conda-forge
libgcc-ng                 12.1.0              h8d9b700_16    conda-forge
libgfortran5              12.1.0              hdcd56e2_16    conda-forge
libgomp                   12.1.0              h8d9b700_16    conda-forge
libsanitizer              10.3.0              h26c7422_16    conda-forge
libstdcxx-devel_linux-64  10.3.0              he6cfe16_16    conda-forge
libstdcxx-ng              12.1.0              ha89aaad_16    conda-forge
sysroot_linux-64          2.12                he073ed8_15    conda-forge

Environment info

active environment : test3
    active env location : /gpfs/fs1/mpapadakis/miniconda3/envs/test3
            shell level : 2
       user config file : /home/mpapadakis/.condarc
 populated config files : /home/mpapadakis/.condarc
          conda version : 4.10.3
    conda-build version : not installed
         python version : 3.9.5.final.0
       virtual packages : __linux=4.15.0=0
                          __glibc=2.27=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /gpfs/fs1/mpapadakis/miniconda3  (writable)
      conda av data dir : /gpfs/fs1/mpapadakis/miniconda3/etc/conda
  conda av metadata url : None
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /gpfs/fs1/mpapadakis/miniconda3/pkgs
                          /home/mpapadakis/.conda/pkgs
       envs directories : /gpfs/fs1/mpapadakis/miniconda3/envs
                          /home/mpapadakis/.conda/envs
               platform : linux-64
             user-agent : conda/4.10.3 requests/2.25.1 CPython/3.9.5 Linux/4.15.0-167-generic ubuntu/18.04.3 glibc/2.27
                UID:GID : 38092:30
             netrc file : None
           offline mode : False

Segfault when mixing bob.blitz and tensorflow

Issue:
I am trying to fix a segmentation fault (core dump) when importing my package before tensorflow.
This is how the error happens:

$ python -c "import bob.blitz, tensorflow"
free(): invalid pointer
[1]    23231 IOT instruction (core dumped)  python -c "import bob.blitz, tensorflow"

but this error does not happen when I do:

$ python -c "import tensorflow, bob.blitz"

or when I do:

$ LD_PRELOAD=/lib64/libstdc++.so.6 bin/python -c "import bob.blitz, tensorflow"

and here is what I get from my env:

ldd -d bob/blitz/_library.cpython-38-x86_64-linux-gnu.so
	linux-vdso.so.1 (0x00007fff82732000)
	libblitz.so.0 => /home/amir/miniconda/envs/blitz/lib/libblitz.so.0 (0x00007f8bb87cc000)
	libstdc++.so.6 => /home/amir/miniconda/envs/blitz/lib/libstdc++.so.6 (0x00007f8bb8621000)
	libgcc_s.so.1 => /home/amir/miniconda/envs/blitz/lib/libgcc_s.so.1 (0x00007f8bb860c000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f8bb85d5000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f8bb8406000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f8bb82c0000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f8bb8ab4000)
ldd -d ~/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/libtensorflow_framework.so.2 | grep libstd
	libstdc++.so.6 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../../libstdc++.so.6 (0x00007fba6ee92000)
ldd -d ~/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/libtensorflow_framework.so.2              
	linux-vdso.so.1 (0x00007ffcca0f2000)
	libcurl.so.4 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../../libcurl.so.4 (0x00007ff4f9fa3000)
	libcrypto.so.1.1 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../../libcrypto.so.1.1 (0x00007ff4f9cd7000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007ff4f9cba000)
	libm.so.6 => /lib64/libm.so.6 (0x00007ff4f9b76000)
	libsnappy.so.1 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../../libsnappy.so.1 (0x00007ff4f9b6b000)
	libprotobuf.so.26 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../../libprotobuf.so.26 (0x00007ff4f98ba000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff4f9899000)
	libgif.so.7 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../../libgif.so.7 (0x00007ff4f988a000)
	libjpeg.so.9 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../../libjpeg.so.9 (0x00007ff4f984c000)
	libz.so.1 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../../libz.so.1 (0x00007ff4f9832000)
	libstdc++.so.6 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../../libstdc++.so.6 (0x00007ff4f9685000)
	librt.so.1 => /lib64/librt.so.1 (0x00007ff4f967a000)
	libgcc_s.so.1 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../../libgcc_s.so.1 (0x00007ff4f9665000)
	libc.so.6 => /lib64/libc.so.6 (0x00007ff4f9496000)
	/lib64/ld-linux-x86-64.so.2 (0x00007ff4fb0b0000)
	libnghttp2.so.14 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../.././libnghttp2.so.14 (0x00007ff4f946d000)
	libssh2.so.1 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../.././libssh2.so.1 (0x00007ff4f9429000)
	libssl.so.1.1 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../.././libssl.so.1.1 (0x00007ff4f9396000)
	libgssapi_krb5.so.2 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../.././libgssapi_krb5.so.2 (0x00007ff4f9343000)
	libkrb5.so.3 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../.././libkrb5.so.3 (0x00007ff4f926f000)
	libk5crypto.so.3 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../.././libk5crypto.so.3 (0x00007ff4f9255000)
	libcom_err.so.3 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../.././libcom_err.so.3 (0x00007ff4f924f000)
	libkrb5support.so.0 => /home/amir/miniconda/envs/blitz/lib/python3.8/site-packages/tensorflow/../../../././libkrb5support.so.0 (0x00007ff4f923e000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x00007ff4f9224000)

So my question is why does adding LD_PRELOAD=/lib64/libstdc++.so.6 fixe my issue? even though it looks like the packages are linked correctly. I will post instructions to reproduce this issue soon.


Environment (conda list):
$ conda list 
# packages in environment at /home/amir/miniconda/envs/blitz:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       1_gnu    conda-forge
abseil-cpp                20210324.2           h9c3ff4c_0    conda-forge
absl-py                   0.14.1             pyhd8ed1ab_0    conda-forge
aiohttp                   3.7.4.post0      py38h497a2fe_0    conda-forge
alabaster                 0.7.12                     py_0    conda-forge
alsa-lib                  1.2.3                h516909a_0    conda-forge
appdirs                   1.4.4              pyh9f0ad1d_0    conda-forge
argon2-cffi               21.1.0           py38h497a2fe_0    conda-forge
astor                     0.8.1              pyh9f0ad1d_0    conda-forge
astunparse                1.6.3              pyhd8ed1ab_0    conda-forge
async-timeout             3.0.1                   py_1000    conda-forge
async_generator           1.10                       py_0    conda-forge
attrs                     21.2.0             pyhd8ed1ab_0    conda-forge
babel                     2.9.1              pyh44b312d_0    conda-forge
backcall                  0.2.0              pyh9f0ad1d_0    conda-forge
backports                 1.0                        py_2    conda-forge
backports.functools_lru_cache 1.6.4              pyhd8ed1ab_0    conda-forge
binutils                  2.36.1               hdd6e379_2    conda-forge
binutils_impl_linux-64    2.36.1               h193b22a_2    conda-forge
binutils_linux-64         2.36                 hf3e587d_1    conda-forge
bleach                    4.1.0              pyhd8ed1ab_0    conda-forge
blinker                   1.4                        py_1    conda-forge
blosc                     1.21.0               h9c3ff4c_0    conda-forge
bob-buildout              2.3.0                    pypi_0    pypi
bob.extension             6.1.1b0          py38h6434a95_3    http://www.idiap.ch/software/bob/conda/label/beta
bokeh                     2.3.3            py38h578d9bd_0    conda-forge
boost                     1.76.0           py38hfc89cab_0    conda-forge
boost-cpp                 1.76.0               h312852a_1    conda-forge
brotli                    1.0.9                h7f98852_5    conda-forge
brotli-bin                1.0.9                h7f98852_5    conda-forge
brotlipy                  0.7.0           py38h497a2fe_1001    conda-forge
brunsli                   0.1                  h9c3ff4c_0    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.17.2               h7f98852_0    conda-forge
c-compiler                1.3.0                h7f98852_0    conda-forge
ca-certificates           2021.10.8            ha878542_0    conda-forge
cachetools                4.2.4              pyhd8ed1ab_0    conda-forge
caiman                    1.9.3            py38h43a58ef_0    conda-forge
cairo                     1.16.0            h6cf1ce9_1008    conda-forge
certifi                   2021.10.8        py38h578d9bd_0    conda-forge
cffi                      1.14.6           py38h3931269_1    conda-forge
cfitsio                   3.470                hb418390_7    conda-forge
chardet                   4.0.0            py38h578d9bd_1    conda-forge
charls                    2.2.0                h9c3ff4c_0    conda-forge
charset-normalizer        2.0.0              pyhd8ed1ab_0    conda-forge
click                     8.0.3            py38h578d9bd_0    conda-forge
click-plugins             1.1.1                      py_0    conda-forge
cloudpickle               2.0.0              pyhd8ed1ab_0    conda-forge
cmake                     3.21.3               h8897547_0    conda-forge
colorama                  0.4.4              pyh9f0ad1d_0    conda-forge
colorcet                  2.0.6              pyhd8ed1ab_0    conda-forge
compilers                 1.3.0                ha770c72_0    conda-forge
coverage                  6.0.2            py38h497a2fe_0    conda-forge
cryptography              3.4.8            py38ha5dfef3_0    conda-forge
cxx-compiler              1.3.0                h4bd325d_0    conda-forge
cycler                    0.10.0                     py_2    conda-forge
cytoolz                   0.11.0           py38h497a2fe_3    conda-forge
dask-core                 2021.9.1           pyhd8ed1ab_0    conda-forge
dataclasses               0.8                pyhc8e2a94_3    conda-forge
dbus                      1.13.6               h48d8840_2    conda-forge
debugpy                   1.4.1            py38h709712a_0    conda-forge
decorator                 5.1.0              pyhd8ed1ab_0    conda-forge
defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
docutils                  0.17.1           py38h578d9bd_0    conda-forge
entrypoints               0.3             py38h32f6830_1002    conda-forge
expat                     2.4.1                h9c3ff4c_0    conda-forge
ffmpeg                    4.3.2                hca11adc_0    conda-forge
fontconfig                2.13.1            hba837de_1005    conda-forge
fortran-compiler          1.3.0                h1990efc_0    conda-forge
freetype                  2.10.4               h0708190_1    conda-forge
fsspec                    2021.10.0          pyhd8ed1ab_0    conda-forge
future                    0.18.2           py38h578d9bd_3    conda-forge
gast                      0.3.3                      py_0    conda-forge
gcc                       9.4.0                h192d537_1    conda-forge
gcc_impl_linux-64         9.4.0               h03d3576_10    conda-forge
gcc_linux-64              9.4.0                h391b98a_1    conda-forge
gettext                   0.19.8.1          h73d1719_1008    conda-forge
gfortran                  9.4.0                h2018a41_1    conda-forge
gfortran_impl_linux-64    9.4.0               h0003116_10    conda-forge
gfortran_linux-64         9.4.0                hf0ab688_1    conda-forge
giflib                    5.2.1                h36c2ea0_2    conda-forge
glib                      2.68.4               h9c3ff4c_1    conda-forge
glib-tools                2.68.4               h9c3ff4c_1    conda-forge
gmp                       6.2.1                h58526e2_0    conda-forge
gnutls                    3.6.13               h85f3911_1    conda-forge
google-auth               1.35.0             pyh6c4a22f_0    conda-forge
google-auth-oauthlib      0.4.6              pyhd8ed1ab_0    conda-forge
google-pasta              0.2.0              pyh8c360ce_0    conda-forge
graphite2                 1.3.13            h58526e2_1001    conda-forge
grpc-cpp                  1.37.1               hfc4d69e_3    conda-forge
grpcio                    1.37.1           py38hdd6454d_0    conda-forge
gst-plugins-base          1.18.5               hf529b03_0    conda-forge
gstreamer                 1.18.5               h76c114f_0    conda-forge
gxx                       9.4.0                h192d537_1    conda-forge
gxx_impl_linux-64         9.4.0               h03d3576_10    conda-forge
gxx_linux-64              9.4.0                h0316aca_1    conda-forge
h5py                      2.10.0          nompi_py38h9915d05_106    conda-forge
harfbuzz                  2.9.1                h83ec7ef_1    conda-forge
hdf5                      1.10.6          nompi_h6a2412b_1114    conda-forge
hdmf                      2.2.0              pyh9f0ad1d_0    conda-forge
holoviews                 1.14.6             pyhd8ed1ab_0    conda-forge
icu                       68.1                 h58526e2_0    conda-forge
idna                      3.1                pyhd3deb0d_0    conda-forge
imagecodecs               2021.7.30        py38hb5ce8f7_1    conda-forge
imageio                   2.9.0                      py_0    conda-forge
imagesize                 1.2.0                      py_0    conda-forge
importlib-metadata        4.8.1            py38h578d9bd_0    conda-forge
ipdb                      0.13.9                   pypi_0    pypi
ipdbplugin                1.5.0                    pypi_0    pypi
ipykernel                 6.4.1            py38he5a9106_0    conda-forge
ipyparallel               7.1.0              pyhd8ed1ab_0    conda-forge
ipython                   7.28.0           py38he5a9106_0    conda-forge
ipython_genutils          0.2.0                      py_1    conda-forge
ipywidgets                7.6.5              pyhd8ed1ab_0    conda-forge
jasper                    1.900.1           h07fcdf6_1006    conda-forge
jbig                      2.1               h7f98852_2003    conda-forge
jedi                      0.18.0           py38h578d9bd_2    conda-forge
jinja2                    3.0.2              pyhd8ed1ab_0    conda-forge
joblib                    1.1.0              pyhd8ed1ab_0    conda-forge
jpeg                      9d                   h36c2ea0_0    conda-forge
jsonschema                4.1.0              pyhd8ed1ab_0    conda-forge
jupyter                   1.0.0            py38h578d9bd_6    conda-forge
jupyter_client            7.0.6              pyhd8ed1ab_0    conda-forge
jupyter_console           6.4.0              pyhd8ed1ab_0    conda-forge
jupyter_core              4.8.1            py38h578d9bd_0    conda-forge
jupyterlab_pygments       0.1.2              pyh9f0ad1d_0    conda-forge
jupyterlab_widgets        1.0.2              pyhd8ed1ab_0    conda-forge
jxrlib                    1.1                  h7f98852_2    conda-forge
keras-preprocessing       1.1.2              pyhd8ed1ab_0    conda-forge
kernel-headers_linux-64   2.6.32              he073ed8_14    conda-forge
kiwisolver                1.3.2            py38h1fd1430_0    conda-forge
krb5                      1.19.2               hcc1bbae_2    conda-forge
lame                      3.100             h7f98852_1001    conda-forge
lcms2                     2.12                 hddcbb42_0    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
lerc                      2.2.1                h9c3ff4c_0    conda-forge
libaec                    1.0.6                h9c3ff4c_0    conda-forge
libblas                   3.9.0           11_linux64_openblas    conda-forge
libblitz                  1.0.2                h9c3ff4c_2    conda-forge
libbrotlicommon           1.0.9                h7f98852_5    conda-forge
libbrotlidec              1.0.9                h7f98852_5    conda-forge
libbrotlienc              1.0.9                h7f98852_5    conda-forge
libcblas                  3.9.0           11_linux64_openblas    conda-forge
libclang                  11.1.0          default_ha53f305_1    conda-forge
libcurl                   7.79.1               h2574ce0_1    conda-forge
libdeflate                1.7                  h7f98852_5    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h516909a_1    conda-forge
libevent                  2.1.10               h9b69904_4    conda-forge
libffi                    3.4.2                h9c3ff4c_4    conda-forge
libgcc-devel_linux-64     9.4.0               hd854feb_10    conda-forge
libgcc-ng                 11.2.0              h1d223b6_10    conda-forge
libgfortran-ng            11.2.0              h69a702a_10    conda-forge
libgfortran5              11.2.0              h5c6108e_10    conda-forge
libglib                   2.68.4               h174f98d_1    conda-forge
libgomp                   11.2.0              h1d223b6_10    conda-forge
libiconv                  1.16                 h516909a_0    conda-forge
liblapack                 3.9.0           11_linux64_openblas    conda-forge
liblapacke                3.9.0           11_linux64_openblas    conda-forge
libllvm11                 11.1.0               hf817b99_2    conda-forge
libnghttp2                1.43.0               h812cca2_1    conda-forge
libogg                    1.3.4                h7f98852_1    conda-forge
libopenblas               0.3.17          pthreads_h8fe5266_1    conda-forge
libopencv                 4.5.2            py38hcdf9bf1_0    conda-forge
libopus                   1.3.1                h7f98852_1    conda-forge
libpng                    1.6.37               h21135ba_2    conda-forge
libpq                     13.3                 hd57d9b9_1    conda-forge
libprotobuf               3.15.8               h780b84a_1    conda-forge
libsanitizer              9.4.0               h79bfe98_10    conda-forge
libsodium                 1.0.18               h36c2ea0_1    conda-forge
libssh2                   1.10.0               ha56f1ee_2    conda-forge
libstdcxx-devel_linux-64  9.4.0               hd854feb_10    conda-forge
libstdcxx-ng              11.2.0              he4da1e4_10    conda-forge
libtiff                   4.3.0                hf544144_1    conda-forge
libuuid                   2.32.1            h7f98852_1000    conda-forge
libuv                     1.42.0               h7f98852_0    conda-forge
libvorbis                 1.3.7                h9c3ff4c_0    conda-forge
libwebp-base              1.2.1                h7f98852_0    conda-forge
libxcb                    1.13              h7f98852_1003    conda-forge
libxkbcommon              1.0.3                he3ba5ed_0    conda-forge
libxml2                   2.9.12               h72842e0_0    conda-forge
libzlib                   1.2.11            h36c2ea0_1013    conda-forge
libzopfli                 1.0.3                h9c3ff4c_0    conda-forge
locket                    0.2.0                      py_2    conda-forge
lz4-c                     1.9.3                h9c3ff4c_1    conda-forge
make                      4.3                  hd18ef5c_1    conda-forge
markdown                  3.3.4              pyhd8ed1ab_0    conda-forge
markupsafe                2.0.1            py38h497a2fe_0    conda-forge
matplotlib                3.4.3            py38h578d9bd_1    conda-forge
matplotlib-base           3.4.3            py38hf4fb855_1    conda-forge
matplotlib-inline         0.1.3              pyhd8ed1ab_0    conda-forge
mistune                   0.8.4           py38h497a2fe_1004    conda-forge
mr-developer              2.0.1                    pypi_0    pypi
multidict                 5.2.0            py38h497a2fe_0    conda-forge
mypy                      0.910            py38h497a2fe_0    conda-forge
mypy_extensions           0.4.3            py38h578d9bd_3    conda-forge
mysql-common              8.0.25               ha770c72_2    conda-forge
mysql-libs                8.0.25               hfa10184_2    conda-forge
nbclient                  0.5.4              pyhd8ed1ab_0    conda-forge
nbconvert                 6.2.0            py38h578d9bd_0    conda-forge
nbformat                  5.1.3              pyhd8ed1ab_0    conda-forge
ncurses                   6.2                  h58526e2_4    conda-forge
nest-asyncio              1.5.1              pyhd8ed1ab_0    conda-forge
nettle                    3.6                  he412f7d_0    conda-forge
networkx                  2.5                        py_0    conda-forge
nose                      1.3.7           py38h32f6830_1004    conda-forge
notebook                  6.4.4              pyha770c72_0    conda-forge
nspr                      4.30                 h9c3ff4c_0    conda-forge
nss                       3.69                 hb5efdd6_1    conda-forge
numpy                     1.21.2           py38he2449b9_0    conda-forge
oauthlib                  3.1.1              pyhd8ed1ab_0    conda-forge
olefile                   0.46               pyh9f0ad1d_1    conda-forge
opencv                    4.5.2            py38h578d9bd_0    conda-forge
openh264                  2.1.1                h780b84a_0    conda-forge
openjpeg                  2.4.0                hb52868f_1    conda-forge
openssl                   1.1.1l               h7f98852_0    conda-forge
opt_einsum                3.3.0              pyhd8ed1ab_1    conda-forge
packaging                 21.0               pyhd8ed1ab_0    conda-forge
pandas                    1.3.3            py38h43a58ef_0    conda-forge
pandoc                    2.14.2               h7f98852_0    conda-forge
pandocfilters             1.5.0              pyhd8ed1ab_0    conda-forge
panel                     0.12.1             pyhd8ed1ab_0    conda-forge
param                     1.11.1             pyh6c4a22f_0    conda-forge
parso                     0.8.2              pyhd8ed1ab_0    conda-forge
partd                     1.2.0              pyhd8ed1ab_0    conda-forge
pcre                      8.45                 h9c3ff4c_0    conda-forge
peakutils                 1.3.3                      py_0    conda-forge
pexpect                   4.8.0            py38h32f6830_1    conda-forge
pickleshare               0.7.5           py38h32f6830_1002    conda-forge
pillow                    8.3.2            py38h8e6f84c_0    conda-forge
pims                      0.5                pyh9f0ad1d_1    conda-forge
pip                       21.3               pyhd8ed1ab_0    conda-forge
pixman                    0.40.0               h36c2ea0_0    conda-forge
pkg-config                0.29.2            h36c2ea0_1008    conda-forge
pooch                     1.5.2              pyhd8ed1ab_0    conda-forge
prometheus_client         0.11.0             pyhd8ed1ab_0    conda-forge
prompt-toolkit            3.0.20             pyha770c72_0    conda-forge
prompt_toolkit            3.0.20               hd8ed1ab_0    conda-forge
protobuf                  3.15.8           py38h709712a_0    conda-forge
psutil                    5.8.0            py38h497a2fe_1    conda-forge
pthread-stubs             0.4               h36c2ea0_1001    conda-forge
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
py-opencv                 4.5.2            py38hd0cf306_0    conda-forge
pyasn1                    0.4.8                      py_0    conda-forge
pyasn1-modules            0.2.7                      py_0    conda-forge
pycparser                 2.20               pyh9f0ad1d_2    conda-forge
pyct                      0.4.6                      py_0    conda-forge
pyct-core                 0.4.6                      py_0    conda-forge
pygments                  2.10.0             pyhd8ed1ab_0    conda-forge
pyjwt                     2.2.0              pyhd8ed1ab_0    conda-forge
pynwb                     1.4.0            py38h578d9bd_1    conda-forge
pyopenssl                 21.0.0             pyhd8ed1ab_0    conda-forge
pyparsing                 2.4.7              pyh9f0ad1d_0    conda-forge
pyqt                      5.12.3           py38h578d9bd_7    conda-forge
pyqt-impl                 5.12.3           py38h7400c14_7    conda-forge
pyqt5-sip                 4.19.18          py38h709712a_7    conda-forge
pyqtchart                 5.12             py38h7400c14_7    conda-forge
pyqtgraph                 0.12.3             pyhd8ed1ab_0    conda-forge
pyqtwebengine             5.12.1           py38h7400c14_7    conda-forge
pyrsistent                0.17.3           py38h497a2fe_2    conda-forge
pysocks                   1.7.1            py38h578d9bd_3    conda-forge
python                    3.8.12          hb7a2778_1_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python-flatbuffers        1.12               pyhd8ed1ab_1    conda-forge
python_abi                3.8                      2_cp38    conda-forge
pytz                      2021.3             pyhd8ed1ab_0    conda-forge
pyu2f                     0.1.5              pyhd8ed1ab_0    conda-forge
pyviz_comms               2.1.0              pyhd8ed1ab_0    conda-forge
pywavelets                1.1.1            py38h6c62de6_3    conda-forge
pyyaml                    5.4.1            py38h497a2fe_1    conda-forge
pyzmq                     22.3.0           py38h2035c66_0    conda-forge
qt                        5.12.9               hda022c4_4    conda-forge
qtconsole                 5.1.1              pyhd8ed1ab_0    conda-forge
qtpy                      1.11.2             pyhd8ed1ab_0    conda-forge
re2                       2021.08.01           h9c3ff4c_0    conda-forge
readline                  8.1                  h46c0cb4_0    conda-forge
requests                  2.26.0             pyhd8ed1ab_0    conda-forge
requests-oauthlib         1.3.0              pyh9f0ad1d_0    conda-forge
rhash                     1.4.1                h7f98852_0    conda-forge
rsa                       4.7.2              pyh44b312d_0    conda-forge
ruamel.yaml               0.17.16          py38h497a2fe_0    conda-forge
ruamel.yaml.clib          0.2.2            py38h497a2fe_2    conda-forge
scikit-image              0.18.3           py38h43a58ef_0    conda-forge
scikit-learn              1.0              py38hacb3eff_1    conda-forge
scipy                     1.7.1            py38h56a6a73_0    conda-forge
send2trash                1.8.0              pyhd8ed1ab_0    conda-forge
setuptools                51.3.3                   pypi_0    pypi
six                       1.15.0             pyh9f0ad1d_0    conda-forge
slicerator                1.0.0                      py_0    conda-forge
snappy                    1.1.8                he1b5a44_3    conda-forge
snowballstemmer           2.1.0              pyhd8ed1ab_0    conda-forge
sphinx                    4.2.0              pyh6c4a22f_0    conda-forge
sphinx_rtd_theme          1.0.0              pyhd8ed1ab_0    conda-forge
sphinxcontrib-applehelp   1.0.2                      py_0    conda-forge
sphinxcontrib-devhelp     1.0.2                      py_0    conda-forge
sphinxcontrib-htmlhelp    2.0.0              pyhd8ed1ab_0    conda-forge
sphinxcontrib-jsmath      1.0.1                      py_0    conda-forge
sphinxcontrib-qthelp      1.0.3                      py_0    conda-forge
sphinxcontrib-serializinghtml 1.1.5              pyhd8ed1ab_0    conda-forge
sqlite                    3.36.0               h9cd32fc_2    conda-forge
sysroot_linux-64          2.12                he073ed8_14    conda-forge
tensorboard               2.4.1              pyhd8ed1ab_1    conda-forge
tensorboard-plugin-wit    1.8.0              pyh44b312d_0    conda-forge
tensorflow                2.4.3            py38h578d9bd_0    conda-forge
tensorflow-base           2.4.3            py38h83f5f1d_0    conda-forge
tensorflow-estimator      2.4.0              pyh9656e83_0    conda-forge
termcolor                 1.1.0                      py_2    conda-forge
terminado                 0.12.1           py38h578d9bd_0    conda-forge
testpath                  0.5.0              pyhd8ed1ab_0    conda-forge
threadpoolctl             3.0.0              pyh8a188c0_0    conda-forge
tifffile                  2021.10.10         pyhd8ed1ab_0    conda-forge
tk                        8.6.11               h27826a3_1    conda-forge
toml                      0.10.2             pyhd8ed1ab_0    conda-forge
tomli                     1.2.1              pyhd8ed1ab_0    conda-forge
toolz                     0.11.1                     py_0    conda-forge
tornado                   6.1              py38h497a2fe_1    conda-forge
tqdm                      4.62.3             pyhd8ed1ab_0    conda-forge
traitlets                 5.1.0              pyhd8ed1ab_0    conda-forge
typing-extensions         3.7.4.3                       0    conda-forge
typing_extensions         3.7.4.3                    py_0    conda-forge
urllib3                   1.26.7             pyhd8ed1ab_0    conda-forge
wcwidth                   0.2.5              pyh9f0ad1d_2    conda-forge
webencodings              0.5.1                      py_1    conda-forge
werkzeug                  2.0.1              pyhd8ed1ab_0    conda-forge
wheel                     0.37.0             pyhd8ed1ab_1    conda-forge
widgetsnbextension        3.5.1            py38h578d9bd_4    conda-forge
wrapt                     1.13.1           py38h497a2fe_0    conda-forge
x264                      1!161.3030           h7f98852_1    conda-forge
xorg-kbproto              1.0.7             h7f98852_1002    conda-forge
xorg-libice               1.0.10               h7f98852_0    conda-forge
xorg-libsm                1.2.3             hd9c2040_1000    conda-forge
xorg-libx11               1.7.2                h7f98852_0    conda-forge
xorg-libxau               1.0.9                h7f98852_0    conda-forge
xorg-libxdmcp             1.1.3                h7f98852_0    conda-forge
xorg-libxext              1.3.4                h7f98852_1    conda-forge
xorg-libxrender           0.9.10            h7f98852_1003    conda-forge
xorg-renderproto          0.11.1            h7f98852_1002    conda-forge
xorg-xextproto            7.3.0             h7f98852_1002    conda-forge
xorg-xproto               7.0.31            h7f98852_1007    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
yaml                      0.2.5                h516909a_0    conda-forge
yarl                      1.7.0            py38h497a2fe_0    conda-forge
zc-buildout               2.13.4                   pypi_0    pypi
zc-recipe-egg             2.0.7                    pypi_0    pypi
zeromq                    4.3.4                h9c3ff4c_1    conda-forge
zfp                       0.5.5                h9c3ff4c_7    conda-forge
zipp                      3.6.0              pyhd8ed1ab_0    conda-forge
zlib                      1.2.11            h36c2ea0_1013    conda-forge
zstd                      1.5.0                ha95c52a_0    conda-forge


Details about conda and system ( conda info ):
$ conda info

     active environment : blitz
    active env location : /home/amir/miniconda/envs/blitz
            shell level : 1
       user config file : /home/amir/.condarc
 populated config files : /home/amir/miniconda/.condarc
                          /home/amir/.condarc
                          /home/amir/miniconda/envs/blitz/condarc
          conda version : 4.10.3
    conda-build version : 3.21.4
         python version : 3.9.7.final.0
       virtual packages : __linux=5.14.10=0
                          __glibc=2.33=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /home/amir/miniconda  (writable)
      conda av data dir : /home/amir/miniconda/etc/conda
  conda av metadata url : None
           channel URLs : http://www.idiap.ch/software/bob/conda/label/beta/linux-64
                          http://www.idiap.ch/software/bob/conda/label/beta/noarch
                          http://www.idiap.ch/software/bob/conda/linux-64
                          http://www.idiap.ch/software/bob/conda/noarch
                          https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /home/amir/miniconda/pkgs
                          /home/amir/.conda/pkgs
       envs directories : /home/amir/miniconda/envs
                          /home/amir/.conda/envs
               platform : linux-64
             user-agent : conda/4.10.3 requests/2.26.0 CPython/3.9.7 Linux/5.14.10-200.fc34.x86_64 fedora/34 glibc/2.33
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

linux-aarch64 gcc missing libquadmath.so

Comment:

My architecture is linux-arch64, and I installed gcc using anaconda. However, I found that the libquadmath library was missing after installation. I hope relevant personnel can fix it

Activating the gcc compiler should not set the install prefix

Currently the activate-gcc.sh script sets numerous environment variables when run, including populating the CMake variable CMAKE_ARGS. While most of the contents of this variable are fine, the scripts should leave setting CMAKE_INSTALL_PREFIX to individual recipes using this script. I am proposing to remove this line so that the CMAKE_ARGS do not contain the install prefix by default.

GCC 9.3 compilers should not include `-fopenmp` or `-std=c++17` by default

This seems worth a bug report. Adding compile flags by default to integrate with the rest of the stack in the same conda env is fine, but -fopenmp is not one of those flags. So I'd consider this a bug.

@mckib2 noticed this when trying to integrate a new Fortran library into SciPy. From mckib2/scipy#9 (comment):

So I can see where the issue is, e.g. for _zpropack

Fortran fix compiler: /opt/conda/envs/scipy-dev/bin/x86_64-conda-linux-gnu-gfortran
-Wall -g -ffixed-form -fno-second-underscore -Wall -g -fno-second-underscore -fPIC
-fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong
-fno-plt -O2 -ffunction-sections -pipe -isystem /opt/conda/envs/scipy-dev/include -O3 -funroll-loops

Specifically, it's giving the option -fopenmp during compilation. I'm not sure yet how to remove this or work around it or why it doesn't show up on my machine.

And from my response: mckib2/scipy#9 (comment)

Here's the log after explicitly adding undef statements for _OPENMP (appears to resolve GOMP errors). The Fortran compilers from numpy.distutils seem to be adding -fopenmp by default for the PROPACK libraries and extensions. Not sure what's going on here

This is pretty hairy. The flags aren't added by numpy.distutils, but by the conda compiler config. I believe it comes from:

/path/to/conda-install/envs/env-name/lib/gcc/x86_64-conda-linux-gnu/9.3.0/specs

I don't see anything in the conda-build docs or elsewhere about this.

So my questions are:

  1. Can we please get rid of -fopenmp?
  2. Is there a conda-specific way of modifying these flags, or is the only way to work around this in the build system or setup.py files of the package one is trying to build?

Syntax error reported in `deactivate.d/deactivate-gcc_linux-64.sh` when using tox-conda

tl;dr see https://github.com/ctb/2021-conda-tox-wat/ :).

Hi all,

thanks so much for conda-forge!!

I was pointed here in re this error output:

rm -fr .tox UNKNOWN.egg-info
tox -e py39
.package create: /home/ctbrown/2021-conda-tox-wat/.tox/.package
.package installdeps: setuptools >= 48
ERROR: invocation failed (exit code 2), logfile: /home/ctbrown/2021-conda-tox-wat/.tox/.package/log/.package-1.log
================================== log start ===================================
/tmp/tmpp10ke8je: 146: /home/ctbrown/miniconda3/envs/failme2/etc/conda/deactivate.d/deactivate-gcc_linux-64.sh: Syntax error: "(" unexpected (expecting "fi")

=================================== log end ====================================
ERROR: could not install deps [setuptools >= 48]; v = InvocationError("/home/ctbrown/2021-conda-tox-wat/.tox/.package/bin/python -m pip install 'setuptools >= 48'", 2)
py39 create: /home/ctbrown/2021-conda-tox-wat/.tox/py39
py39 inst: /home/ctbrown/2021-conda-tox-wat/.tox/.tmp/package/1/UNKNOWN-0.0.0.tar.gz
py39 installed: UNKNOWN @ file:///home/ctbrown/2021-conda-tox-wat/.tox/.tmp/package/1/UNKNOWN-0.0.0.tar.gz
py39 run-test-pre: PYTHONHASHSEED='2953931048'
___________________________________ summary ____________________________________
  py39: commands succeeded
  congratulations :)

which is generated by the github repo https://github.com/ctb/2021-conda-tox-wat/.

I first ran across this in the sourmash project; see sourmash-bio/sourmash#1778. It looks similar to conda/conda#9959. 2021-conda-tox-wat is my simplest-possible recapitulation of the sourmash problem.


It looks very much like the problem is somewhere at the intersection of tox and tox-conda. The code works fine if I omit tox-conda from the conda environment, in which case tox uses pip instead of conda environments. But I don't yet know where the problem lies specifically - with tox, or with the conda package.

If I had to guess, it's that there is some variable that is present in the environment that's causing a syntax error in the deactivate script, but there are too many moving parts for me to isolate it just yet.

My next debugging steps will be:

  • use set -x to see exactly what's happening in the deactivation script
  • figure out how to get gory details out of tox in terms of exactly what commands are being run

and I will update here if I get anywhere with them.

Any help is much appreciated! This is not a showstopper but it sure would be nice to get the fly out of the ointment :)

Why min_runtime_version is set to 13 but 12 ?

Comment:

For some reasons, I am building compilers for my own.
I see #90 edit the min_runtime_version to 13, so the requirement is libgcc-ng >= 13.
But currently the latest compiler version is 12.2.0, not yet update to 13.
Why min_runtime_version is set to 13 but 12 ?

Environment dependent conda-build

Issue:

Consider an example conda recipe with the following build.sh script:

echo "LDFLAGS=$LDFLAGS"

When running LDFLAGS= conda-build /path/to/example/recipe, the output will be

LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib

However, when LDFLAGS is not empty, for instance, run LDFLAGS="-L/path/to/foo" conda-build /path/to/example/recipe, the output is

LDFLAGS=-Lpath/to/foo

I am not sure if this is a bug or not but the result of building a conda recipe from an environment that defines LDFLAGS will be different from the result of the build the recipe where LDFLAGS is not defined. And it's not obvious to figure it out when there are some build issues because of this.

Possible options to resolve this issue:

  1. When LDFLAGS is defined, conda-build should prepend its flags to LDFLAGS.
  2. When LDFLAGS is defined, conda-build should warn that it will use LDFLAGS as it is without adding its flags to LDFLAGS.
  3. When LDFLAGS is defined, raise an exception.
  4. When LDFLAGS is defined, issue a warning that LDFLAGS in an environment will be ignored.

All the above applies also for environment variables CFLAGS, CXXFLAGS, etc.

Inclusion of `CXXFLAGS` from `x86_64` & `aarch64` Linux variants causes build error

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

It appears that flags are being set by both x86_64 & aarch64 Linux compiler variants, which is leading to issues building xgboost R packages. More details in comment ( conda-forge/xgboost-feedstock#88 (comment) ). Appears related to PR ( #67 ).

Here's the CI build and the attached CI log for posterity.

cc @hcho3 @xhochy

Installed packages

_libgcc_mutex                  0.1-conda_forge         conda-forge
_openmp_mutex                  4.5-2_gnu               conda-forge
binutils_impl_linux-64         2.36.1-h193b22a_2       conda-forge
binutils_impl_linux-aarch64    2.36.1-he24a65f_2       conda-forge
binutils_linux-aarch64         2.36-h38357a0_9         conda-forge
bzip2                          1.0.8-h7f98852_4        conda-forge
c-ares                         1.18.1-h7f98852_0       conda-forge
ca-certificates                2021.10.8-ha878542_0    conda-forge
cmake                          3.23.1-h5432695_0       conda-forge
curl                           7.83.0-h2283fc2_0       conda-forge
expat                          2.4.8-h27087fc_0        conda-forge
gcc_impl_linux-64              10.3.0-hf2f2afa_16      conda-forge
gcc_impl_linux-aarch64         10.3.0-h3721c86_16      conda-forge
gcc_linux-aarch64              10.3.0-hd47fc70_9       conda-forge
gettext                        0.19.8.1-h73d1719_1008  conda-forge
git                            2.35.3-pl5321h04cb727_0 conda-forge
gxx_impl_linux-64              10.3.0-hf2f2afa_16      conda-forge
gxx_impl_linux-aarch64         10.3.0-h3721c86_16      conda-forge
gxx_linux-aarch64              10.3.0-hab23ad4_9       conda-forge
kernel-headers_linux-64        2.6.32-he073ed8_15      conda-forge
kernel-headers_linux-aarch64   4.18.0-h5b4a56d_13      conda-forge
keyutils                       1.6.1-h166bdaf_0        conda-forge
krb5                           1.19.3-h08a2579_0       conda-forge
ld_impl_linux-64               2.36.1-hea4e1c9_2       conda-forge
ld_impl_linux-aarch64          2.36.1-h4e2ea54_2       conda-forge
libcurl                        7.83.0-h2283fc2_0       conda-forge
libedit                        3.1.20191231-he28a2e2_2 conda-forge
libev                          4.33-h516909a_1         conda-forge
libffi                         3.4.2-h7f98852_5        conda-forge
libgcc-devel_linux-64          10.3.0-he6cfe16_16      conda-forge
libgcc-devel_linux-aarch64     10.3.0-hfaf2395_16      conda-forge
libgcc-ng                      11.2.0-h1d223b6_16      conda-forge
libgomp                        11.2.0-h1d223b6_16      conda-forge
libiconv                       1.16-h516909a_0         conda-forge
libnghttp2                     1.47.0-he49606f_0       conda-forge
libnsl                         2.0.0-h7f98852_0        conda-forge
libsanitizer                   10.3.0-h26c7422_16      conda-forge
libssh2                        1.10.0-ha35d2d1_2       conda-forge
libstdcxx-devel_linux-64       10.3.0-he6cfe16_16      conda-forge
libstdcxx-devel_linux-aarch64  10.3.0-hfaf2395_16      conda-forge
libstdcxx-ng                   11.2.0-he4da1e4_16      conda-forge
libuv                          1.43.0-h7f98852_0       conda-forge
libzlib                        1.2.11-h166bdaf_1014    conda-forge
lz4-c                          1.9.3-h9c3ff4c_1        conda-forge
ncurses                        6.3-h27087fc_1          conda-forge
ninja                          1.10.2-h4bd325d_1       conda-forge
openssl                        3.0.2-h166bdaf_1        conda-forge
pcre2                          10.37-h032f7d1_0        conda-forge
perl                           5.32.1-2_h7f98852_perl5 conda-forge
rhash                          1.4.1-h7f98852_0        conda-forge
sysroot_linux-64               2.12-he073ed8_15        conda-forge
sysroot_linux-aarch64          2.17-h43d7e78_13        conda-forge
tk                             8.6.12-h27826a3_0       conda-forge
xz                             5.2.5-h516909a_1        conda-forge
zlib                           1.2.11-h166bdaf_1014    conda-forge
zstd                           1.5.2-ha95c52a_0        conda-forge

Environment info

active environment : base
    active env location : /opt/conda
            shell level : 1
       user config file : /home/conda/.condarc
 populated config files : /opt/conda/.condarc
                          /home/conda/.condarc
          conda version : 4.12.0
    conda-build version : 3.21.8
         python version : 3.9.12.final.0
       virtual packages : __linux=5.13.0=0
                          __glibc=2.17=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /opt/conda  (writable)
      conda av data dir : /opt/conda/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /opt/conda/pkgs
                          /home/conda/.conda/pkgs
       envs directories : /opt/conda/envs
                          /home/conda/.conda/envs
               platform : linux-64
             user-agent : conda/4.12.0 requests/2.27.1 CPython/3.9.12 Linux/5.13.0-1022-azure centos/7.9.2009 glibc/2.17
                UID:GID : 1001:1001
             netrc file : None
           offline mode : False

Why isn't `CMAKE_BUILD_TYPE=Release` included in `CMAKE_ARGS`?

Comment:

I recently started using the auto-defined CMAKE_ARGS environment variable for my CMake-based conda builds, as suggested in the conda-forge docs on using CMake. Not only is it convenient, but I agree with the perspective in #77 (comment) that using shared CMake settings helps keep the conda-forge ecosystem consistent.

However, I was recently surprised to learn that CMAKE_BUILD_TYPE=Release is not set by activate-gcc.sh in this repo (conda-forge/staged-recipes#23297). It is set by activate-clang.sh for osx builds and by activate.bat for MSVC builds on Windows. I wasn't able to find any discussion on the motivation for this inconsistency across the platforms. In fact, all I could find was a discussion that was debating setting CMAKE_BUILD_TYPE=None (#87, conda-forge/conda-forge.github.io#1859).

Is there a particular motivation why CMAKE_BUILD_TYPE=Release is the default for osx and win builds, but not linux? If not, can I send I PR to include CMAKE_BUILD_TYPE=Release in CMAKE_ARGS?

gfortran compiler activate/deactivate round-trip leaves LDFLAGS set

Issue:

When you create an environment that includes gfortran_linux-64 (via fortran-compiler), then activate it, LDFLAGS gets set along with a few other variables. However, when you then deactivate again, the LDFLAGS remains:

$ env | grep FLAGS
$ conda create --name test fortran-compiler --quiet

Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... done

## Package Plan ##

  environment location: /home/duncan.macleod/.conda/envs/test

  added / updated specs:
    - fortran-compiler


The following NEW packages will be INSTALLED:

  _libgcc_mutex      conda-forge/linux-64::_libgcc_mutex-0.1-conda_forge
  _openmp_mutex      conda-forge/linux-64::_openmp_mutex-4.5-0_gnu
  binutils-meta      conda-forge/linux-64::binutils-meta-1.0.4-0
  binutils_impl_lin~ conda-forge/linux-64::binutils_impl_linux-64-2.33.1-h53a641e_8
  binutils_linux-64  conda-forge/linux-64::binutils_linux-64-2.33.1-h9595d00_16
  fortran-compiler   conda-forge/linux-64::fortran-compiler-1.0.4-he991be0_0
  gcc_impl_linux-64  conda-forge/linux-64::gcc_impl_linux-64-7.3.0-hd420e75_4
  gcc_linux-64       conda-forge/linux-64::gcc_linux-64-7.3.0-h553295d_16
  gfortran_impl_lin~ conda-forge/linux-64::gfortran_impl_linux-64-7.3.0-hdf63c60_4
  gfortran_linux-64  conda-forge/linux-64::gfortran_linux-64-7.3.0-h553295d_16
  ld_impl_linux-64   conda-forge/linux-64::ld_impl_linux-64-2.33.1-h53a641e_8
  libgcc-ng          conda-forge/linux-64::libgcc-ng-9.2.0-h24d8f2e_2
  libgfortran-ng     conda-forge/linux-64::libgfortran-ng-7.3.0-hdf63c60_4
  libgomp            conda-forge/linux-64::libgomp-9.2.0-h24d8f2e_2
  libstdcxx-ng       conda-forge/linux-64::libstdcxx-ng-9.2.0-hdf63c60_2


Proceed ([y]/n)? y

Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
$ conda activate test
(test) $ env | grep FLAGS
LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,-rpath,/home/duncan.macleod/.conda/envs/test/lib -Wl,-rpath-link,/home/duncan.macleod/.conda/envs/test/lib -L/home/duncan.macleod/.conda/envs/test/lib
CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/duncan.macleod/.conda/envs/test/include
DEBUG_FORTRANFLAGS=-fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/duncan.macleod/.conda/envs/test/include -fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments -ffunction-sections -pipe
CONDA_BACKUP_LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,-rpath,/home/duncan.macleod/.conda/envs/test/lib -Wl,-rpath-link,/home/duncan.macleod/.conda/envs/test/lib -L/home/duncan.macleod/.conda/envs/test/lib
DEBUG_FFLAGS=-fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/duncan.macleod/.conda/envs/test/include -fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fimplicit-none -fvar-tracking-assignments -ffunction-sections -pipe
FORTRANFLAGS=-fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/duncan.macleod/.conda/envs/test/include
DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem /home/duncan.macleod/.conda/envs/test/include
CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/duncan.macleod/.conda/envs/test/include
DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem /home/duncan.macleod/.conda/envs/test/include
FFLAGS=-fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/duncan.macleod/.conda/envs/test/include
(test) $ conda deactivate
$ env | grep FLAGS
LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,-rpath,/home/duncan.macleod/.conda/envs/test/lib -Wl,-rpath-link,/home/duncan.macleod/.conda/envs/test/lib -L/home/duncan.macleod/.conda/envs/test/lib
CONDA_BACKUP_FORTRANFLAGS=-fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/duncan.macleod/.conda/envs/test/include
CONDA_BACKUP_FFLAGS=-fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/duncan.macleod/.conda/envs/test/include
CONDA_BACKUP_DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem /home/duncan.macleod/.conda/envs/test/include
CONDA_BACKUP_LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,-rpath,/home/duncan.macleod/.conda/envs/test/lib -Wl,-rpath-link,/home/duncan.macleod/.conda/envs/test/lib -L/home/duncan.macleod/.conda/envs/test/lib
CONDA_BACKUP_DEBUG_FFLAGS=-fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/duncan.macleod/.conda/envs/test/include
CONDA_BACKUP_DEBUG_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -ffunction-sections -pipe -isystem /home/duncan.macleod/.conda/envs/test/include
CONDA_BACKUP_DEBUG_FORTRANFLAGS=-fopenmp -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/duncan.macleod/.conda/envs/test/include
CONDA_BACKUP_CFLAGS=-march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/duncan.macleod/.conda/envs/test/include
CONDA_BACKUP_CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/duncan.macleod/.conda/envs/test/include

Environment (conda list):
$ conda list
# packages in environment at /home/duncan.macleod/.conda/envs/test:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       0_gnu    conda-forge
binutils-meta             1.0.4                         0    conda-forge
binutils_impl_linux-64    2.33.1               h53a641e_8    conda-forge
binutils_linux-64         2.33.1              h9595d00_16    conda-forge
fortran-compiler          1.0.4                he991be0_0    conda-forge
gcc_impl_linux-64         7.3.0                hd420e75_4    conda-forge
gcc_linux-64              7.3.0               h553295d_16    conda-forge
gfortran_impl_linux-64    7.3.0                hdf63c60_4    conda-forge
gfortran_linux-64         7.3.0               h553295d_16    conda-forge
ld_impl_linux-64          2.33.1               h53a641e_8    conda-forge
libgcc-ng                 9.2.0                h24d8f2e_2    conda-forge
libgfortran-ng            7.3.0                hdf63c60_4    conda-forge
libgomp                   9.2.0                h24d8f2e_2    conda-forge
libstdcxx-ng              9.2.0                hdf63c60_2    conda-forge

Details about conda and system ( conda info ):
$ conda info

     active environment : test
    active env location : /home/duncan.macleod/.conda/envs/test
            shell level : 1
       user config file : /home/duncan.macleod/.condarc
 populated config files : /cvmfs/oasis.opensciencegrid.org/ligo/sw/conda/.condarc
                          /home/duncan.macleod/.condarc
          conda version : 4.8.1
    conda-build version : 3.18.11
         python version : 3.7.4.final.0
       virtual packages : __glibc=2.17
       base environment : /cvmfs/oasis.opensciencegrid.org/ligo/sw/conda  (read only)
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://conda.anaconda.org/igwn/linux-64
                          https://conda.anaconda.org/igwn/noarch
          package cache : /var/tmp/duncan.macleod/conda/pkgs
                          /cvmfs/oasis.opensciencegrid.org/ligo/sw/conda/pkgs
       envs directories : /home/duncan.macleod/.conda/envs
                          /cvmfs/oasis.opensciencegrid.org/ligo/sw/conda/envs
               platform : linux-64
             user-agent : conda/4.8.1 requests/2.22.0 CPython/3.7.4 Linux/3.10.0-957.12.2.el7.x86_64 rhel/7.6 glibc/2.17
                UID:GID : 100002171:100002171
             netrc file : None
           offline mode : False

This doesn't seem to happen when I install only the c-compiler (gcc_linux-64) or the cxx-compiler (gxx_linux-64) packages.

C++17 flag and conda-build

In conda_build_config.yaml, the C++ standard flag is forcibly set to C++17. However, the default behavior of GCC7 is to set that flag to C++14.

This is not something that can be reverted because new packages built with C++14 would then be have ODR violations with their C++17-compiled dependencies (while the oposite would not cause any issue).

However, this is an issue when using these compilers in CI with conda-built dependencies, because we then always need to specify --std=c++17.

It would be nice to change this package so that the default behavior of conda's GCC 7 is to use C++17, and not just in the case of conda-build.

But at a higher level, I think that we should try to be as close as possible to the off-the-shelf behavior of packages (default configuration, as few patches as possible) to not have that kind of side effects.

Should LD_FLAGS be the same across all linuxen?

FINAL_LDFLAGS_linux_64:
- -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined
FINAL_LDFLAGS_linux_32:
- -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined
FINAL_LDFLAGS_linux_ppc64le:
- -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined
FINAL_LDFLAGS_linux_aarch64:
- -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined
FINAL_LDFLAGS_linux_s390x:
- -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined

linux-ppc64le, linux-aarch64 and linux-s390x don't use -disable_new_dtags but linux-32 and linux-64 do. It has been my impression since the beginning of conda that we rely on the semantics of DT_RPATH as opposed to DT_RUNPATH, specifically that DT_RPATH applies to direct and transitive dynamic link resolution whereas DT_RUNPATH must be specified at each level of dynamic library. The other less-important (i.e. non-breaking) difference between DT_RPATH and DT_RUNPATH is that LD_LIBRARY_PATH is searched after DT_RPATH and before DT_RUNPATH (i.e. DT_RUNPATH can be overridden by LD_LIBRARY_PATH)

Perhaps someone made the conscious decision to use RUNPATH on the newer architectures because they didn't have packages that were already built using RPATH but I have been unable to locate where -disable_new_dtags was added into the recipe. I know -disable_new_dtags wasn't used in https://github.com/conda-archive/conda-recipes/tree/master/cross-compilers but it is used in the first commit in the current repository history.

It might be for the best that the newer architectures are using DT_RUNPATH because DT_RPATH has been 'deprecated' [1] or 'moved to level 2 of the [GNU v4+] ABI' [2] depending on where you look:
[1] https://man7.org/linux/man-pages/man8/ld.so.8.html search for 'DT_RPATH is deprecated'
[2] https://refspecs.linuxbase.org/elf/gabi4+/ch5.dynamic.html#shobj_dependencies 'DT_RPATH, has been moved to level 2 in the ABI'

Because the linker will use RUNPATH and ignore RPATH if they both exist, any migration of x86 packages to using RUNPATH would need to be done in dependence order. I suppose that is what migrations do though, isn't it?

I'm not convinced that there is a problem here and if there is, what the solution should be. I mainly wanted to document what I relearned about DT_RPATH and DT_RUNPATH when I noticed that we aren't being consistent across architectures.

Missing file libstdc++.so.6.0.24 AND running feelnc program.

Comment:

I am using conda 4.12.0
This is on an HPC system loaded as a module Anaconda3

The link in the library is missing file libstdc++.so.6.0.24. "libstdc++.so.6.0.21 -> libstdc++.so.6.0.24" is broken from bioperl install
I am running the following command to install bioperl to run with feelnc. Am I missing an install?

conda install -c conda-forge -c bioconda/label/cf201901 snippy perl-bioperl-core perl-bioperl perl-bioperl-run perl-xml-simple

But when I run a perl script I get the following error.

Can't locate Bio/DB/Fasta.pm in @inc (you may need to install the Bio::DB::Fasta module) (@inc contains: /cm/shared/apps/feelnc/0.2/lib /cm/shared/apps/bioperl/1.7.8/lib/perl5 /cm/shared/apps/feelnc/.0.2/lib /cm/shared/apps/bioperl/1.7.8/lib/t_coffee-11.0.8/perl/lib/perl5/x86_64-linux-thread-multi/HTML /cm/shared/apps/Perl/5.32.1-GCCcore-10.3.0/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi /cm/shared/apps/Perl/5.32.1-GCCcore-10.3.0/lib/perl5/site_perl/5.32.1 /cm/shared/apps/Perl/5.32.1-GCCcore-10.3.0/lib/perl5/5.32.1/x86_64-linux-thread-multi /cm/shared/apps/Perl/5.32.1-GCCcore-10.3.0/lib/perl5/5.32.1) at /cm/shared/apps/feelnc/0.2/lib/StringUtils.pm line 7.
BEGIN failed--compilation aborted at /cm/shared/apps/feelnc/0.2/lib/StringUtils.pm line 7.
Compilation failed in require at /cm/shared/apps/feelnc/0.2/lib/ExtractFromHash.pm line 9.
BEGIN failed--compilation aborted at /cm/shared/apps/feelnc/0.2/lib/ExtractFromHash.pm line 9.
Compilation failed in require at /cm/shared/apps/feelnc/0.2/lib/Parser.pm line 10.
BEGIN failed--compilation aborted at /cm/shared/apps/feelnc/0.2/lib/Parser.pm line 10.
Compilation failed in require at /cm/shared/apps/feelnc/0.2/lib/FEELnc_filter.pl line 13.
BEGIN failed--compilation aborted at /cm/shared/apps/feelnc/0.2/lib/FEELnc_filter.pl line 13.

`cc` symlink for `Clang`

Comment:

Would it be possible to add a clang to cc symlink here and similarly for clang++? If so, I'd be happy to make a PR.
Many tools directly invoke cc instead of checking CC env var, cffi is one example. Currently, I'm creating the symlink myself but it would be nice if this feedstock provided it as well.

Move away from setting HOST in user environments

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

Setting BUILD and HOST during conda-build makes complete sense when you're potentially cross-compiling and you have them handy. However, when you set HOST in a user environment it definitely conflicts with at least the %m formatting string in ZSH PS1 prompts.

Refresh the changes made in AnacondaRecipes/aggregate#172 so that they can be merged.

I'll do this. I've just been away for a couple of years...

Installed packages

n/a

Environment info

n/a

`-fvisibility-inlines-hidden` breaks libprotobuf (and potentially other software)

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

The -fvisibility-inlines-hidden compiler option is described thusly in the GCC wiki:

This causes all inlined class member functions to have hidden visibility, causing significant export symbol table size & binary size reductions

This looks theoretically harmless, except that whether class member are defined inline may depend on exact compilation options.

One typical example is when a function declaration depends on whether NDEBUG is enabled. This is exactly what libprotobuf 3.20.1 does (but not 3.19.4):

#if defined(NDEBUG) || defined(_MSC_VER)
  ~InternalMetadata() {
    if (HasMessageOwnedArenaTag()) {
      delete reinterpret_cast<Arena*>(ptr_ - kMessageOwnedArenaTagMask);
    }
  }
#else
  ~InternalMetadata();
#endif

What happens is then:

  • conda-forge compiles libprotobuf 3.20.1 with NDEBUG defined (release mode), so ~InternalMetadata, being inlined, isn't exported by libprotobuf.so
  • third-party software, when compiling and linking in debug mode against libprotobuf (so with NDEBUG not defined), expects to find the ~InternalMetadata in libprotobuf.so, and fails

Installed packages

# packages in environment at /home/antoine/miniconda3/envs/pyarrow:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
_sysroot_linux-64_curr_repodata_hack 3                   h5bd9786_13    conda-forge
abseil-cpp                20211102.0           h27087fc_1    conda-forge
aiobotocore               1.4.2                    pypi_0    pypi
aiohttp                   3.7.4.post0              pypi_0    pypi
aioitertools              0.8.0                    pypi_0    pypi
alabaster                 0.7.12                   pypi_0    pypi
archery                   0.1.0                     dev_0    <develop>
asttokens                 2.0.5              pyhd8ed1ab_0    conda-forge
async-timeout             3.0.1                    pypi_0    pypi
attrs                     21.2.0                   pypi_0    pypi
autopep8                  1.5.7                    pypi_0    pypi
aws-c-auth                0.6.11              h2f9c894_10    conda-forge
aws-c-cal                 0.5.17               h6b4091c_0    conda-forge
aws-c-common              0.6.20               h166bdaf_0    conda-forge
aws-c-compression         0.2.14              h8333888_10    conda-forge
aws-c-event-stream        0.2.7               h3c68b06_43    conda-forge
aws-c-http                0.6.14               h6db1ea3_1    conda-forge
aws-c-io                  0.10.22              h991c0f4_0    conda-forge
aws-c-mqtt                0.7.10              h9f869e8_15    conda-forge
aws-c-s3                  0.1.38               h1c0cbb8_4    conda-forge
aws-c-sdkutils            0.1.2                h8333888_1    conda-forge
aws-checksums             0.1.12               h8333888_9    conda-forge
aws-crt-cpp               0.17.28              h070cc90_2    conda-forge
aws-sdk-cpp               1.9.253              h0519c9a_0    conda-forge
babel                     2.9.1                    pypi_0    pypi
backcall                  0.2.0              pyh9f0ad1d_0    conda-forge
backports                 1.1                pyhd3eb1b0_0    defaults
backports.functools_lru_cache 1.6.4              pyhd8ed1ab_0    conda-forge
beautifulsoup4            4.10.0                   pypi_0    pypi
benchmark                 1.6.1                h9c3ff4c_0    conda-forge
binutils                  2.36.1               hdd6e379_2    conda-forge
binutils_impl_linux-64    2.36.1               h193b22a_2    conda-forge
binutils_linux-64         2.36                 hf3e587d_9    conda-forge
black                     22.3.0             pyhd8ed1ab_0    conda-forge
blinker                   1.4                      pypi_0    pypi
boost-cpp                 1.71.0               h7f8727e_1    defaults
botocore                  1.20.106                 pypi_0    pypi
breathe                   4.31.0                   pypi_0    pypi
brotli                    1.0.9                h166bdaf_7    conda-forge
brotli-bin                1.0.9                h166bdaf_7    conda-forge
brotlipy                  0.7.0                    pypi_0    pypi
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.18.1               h7f98852_0    conda-forge
c-compiler                1.4.2                h166bdaf_0    conda-forge
ca-certificates           2022.4.26            h06a4308_0    defaults
certifi                   2021.10.8        py39hf3d152e_2    conda-forge
cffi                      1.14.6                   pypi_0    pypi
chardet                   4.0.0                    pypi_0    pypi
charset-normalizer        2.0.7                    pypi_0    pypi
clang                     13.0.1               ha770c72_0    conda-forge
clang-13                  13.0.1          default_hc23dcda_0    conda-forge
clangxx                   13.0.1          default_ha53f305_0    conda-forge
click                     8.0.3                    pypi_0    pypi
cmake                     3.23.1               h5432695_0    conda-forge
cmake-format              0.6.13                   pypi_0    pypi
cmakelang                 0.6.13                   pypi_0    pypi
compilers                 1.4.2                ha770c72_0    conda-forge
contextlib2               21.6.0                   pypi_0    pypi
crc32c                    2.2                      pypi_0    pypi
cryptography              35.0.0                   pypi_0    pypi
cxx-compiler              1.4.2                h924138e_0    conda-forge
cython                    0.29.28          py39h5a03fae_2    conda-forge
dataclasses               0.8                pyhc8e2a94_3    conda-forge
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
defusedxml                0.7.1                    pypi_0    pypi
deprecated                1.2.13                   pypi_0    pypi
docutils                  0.16                     pypi_0    pypi
doxygen                   1.9.2                hb166930_0    conda-forge
executing                 0.8.3              pyhd8ed1ab_0    conda-forge
expat                     2.4.8                h27087fc_0    conda-forge
flake8                    4.0.1                    pypi_0    pypi
flask                     2.0.1                    pypi_0    pypi
flatbuffers               2.0.6                h27087fc_0    conda-forge
fortran-compiler          1.4.2                h2a4ca65_0    conda-forge
fsspec                    2021.10.0                pypi_0    pypi
gcc                       10.3.0               he2824d0_9    conda-forge
gcc_impl_linux-64         10.3.0              hf2f2afa_16    conda-forge
gcc_linux-64              10.3.0               hc39de41_9    conda-forge
gflags                    2.2.2             he1b5a44_1004    conda-forge
gfortran                  10.3.0               h18518b4_9    conda-forge
gfortran_impl_linux-64    10.3.0              h73f4979_16    conda-forge
gfortran_linux-64         10.3.0               hb09a455_9    conda-forge
gitdb                     4.0.7                    pypi_0    pypi
github3-py                2.0.0                    pypi_0    pypi
gitpython                 3.1.24                   pypi_0    pypi
glog                      0.6.0                h6f12383_0    conda-forge
gmock                     1.11.0               h924138e_0    conda-forge
google-cloud-cpp          1.40.1               hf2015ea_0    conda-forge
googleapis-common-protos  1.53.0                   pypi_0    pypi
googleapis-cpp            0.10.0              haea4d6a_24    conda-forge
googleapis-storage-testbench 0.7.0                    pypi_0    pypi
grpc-cpp                  1.45.2               he70e3f0_3    conda-forge
grpcio                    1.41.0                   pypi_0    pypi
gtest                     1.11.0               h924138e_0    conda-forge
gunicorn                  20.1.0                   pypi_0    pypi
gxx                       10.3.0               he2824d0_9    conda-forge
gxx_impl_linux-64         10.3.0              hf2f2afa_16    conda-forge
gxx_linux-64              10.3.0               h2593f52_9    conda-forge
httpbin                   0.7.0                    pypi_0    pypi
hypothesis                6.23.2                   pypi_0    pypi
icu                       58.2              hf484d3e_1000    conda-forge
idna                      3.3                      pypi_0    pypi
imagesize                 1.2.0                    pypi_0    pypi
importlib-metadata        4.8.1                    pypi_0    pypi
iniconfig                 1.1.1                    pypi_0    pypi
ipython                   8.3.0            py39hf3d152e_0    conda-forge
itsdangerous              2.0.1                    pypi_0    pypi
jedi                      0.18.1           py39hf3d152e_1    conda-forge
jeepney                   0.7.1                    pypi_0    pypi
jinja2                    3.0.2                    pypi_0    pypi
jira                      3.0.1                    pypi_0    pypi
jmespath                  0.10.0                   pypi_0    pypi
jwcrypto                  1.0                      pypi_0    pypi
kernel-headers_linux-64   3.10.0              h4a8ded7_13    conda-forge
keyring                   23.2.1                   pypi_0    pypi
keyutils                  1.6.1                h166bdaf_0    conda-forge
krb5                      1.19.3               h3790be6_0    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
libblas                   3.9.0           14_linux64_openblas    conda-forge
libboost                  1.71.0               haf77d95_1    defaults
libbrotlicommon           1.0.9                h166bdaf_7    conda-forge
libbrotlidec              1.0.9                h166bdaf_7    conda-forge
libbrotlienc              1.0.9                h166bdaf_7    conda-forge
libcblas                  3.9.0           14_linux64_openblas    conda-forge
libclang-cpp13            13.0.1          default_hc23dcda_0    conda-forge
libcrc32c                 1.1.2                h9c3ff4c_0    conda-forge
libcurl                   7.83.0               h7bff187_0    conda-forge
libedit                   3.1.20210910         h7f8727e_0    defaults
libev                     4.33                 h516909a_1    conda-forge
libevent                  2.1.10               h9b69904_4    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-devel_linux-64     10.3.0              he6cfe16_16    conda-forge
libgcc-ng                 11.2.0              h1d223b6_16    conda-forge
libgfortran-ng            11.2.0              h69a702a_16    conda-forge
libgfortran5              11.2.0              h5c6108e_16    conda-forge
libgomp                   11.2.0              h1d223b6_16    conda-forge
libgoogle-cloud           1.40.1               hf2015ea_0    conda-forge
libiconv                  1.16                 h516909a_0    conda-forge
liblapack                 3.9.0           14_linux64_openblas    conda-forge
libllvm11                 11.1.0               hf817b99_3    conda-forge
libllvm13                 13.0.1               hf817b99_2    conda-forge
libnghttp2                1.47.0               h727a467_0    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libopenblas               0.3.20          pthreads_h78a6416_0    conda-forge
libprotobuf               3.20.1               h6239696_0    conda-forge
libsanitizer              10.3.0              h26c7422_16    conda-forge
libssh2                   1.10.0               ha56f1ee_2    conda-forge
libstdcxx-devel_linux-64  10.3.0              he6cfe16_16    conda-forge
libstdcxx-ng              11.2.0              he4da1e4_16    conda-forge
libthrift                 0.16.0               h519c5ea_1    conda-forge
libutf8proc               2.7.0                h7f98852_0    conda-forge
libuuid                   2.32.1            h7f98852_1000    conda-forge
libuv                     1.43.0               h7f98852_0    conda-forge
libzlib                   1.2.11            h166bdaf_1014    conda-forge
llvmlite                  0.38.0           py39h7d9a04d_1    conda-forge
lz4                       4.0.0            py39h029007f_1    conda-forge
lz4-c                     1.9.3                h9c3ff4c_1    conda-forge
markupsafe                2.0.1                    pypi_0    pypi
matplotlib-inline         0.1.3              pyhd8ed1ab_0    conda-forge
mccabe                    0.6.1                    pypi_0    pypi
multidict                 5.2.0                    pypi_0    pypi
mypy_extensions           0.4.3            py39hf3d152e_5    conda-forge
ncurses                   6.3                  h27087fc_1    conda-forge
nlohmann_json             3.10.5               h9c3ff4c_0    conda-forge
numba                     0.55.1           py39h56b8d98_0    conda-forge
numpy                     1.21.6           py39h18676bf_0    conda-forge
numpydoc                  1.1.0                    pypi_0    pypi
oauthlib                  3.1.1                    pypi_0    pypi
openssl                   1.1.1o               h166bdaf_0    conda-forge
orc                       1.7.4                h6c59b99_0    conda-forge
packaging                 21.0                     pypi_0    pypi
pandas                    1.4.2            py39h1832856_1    conda-forge
parso                     0.8.3              pyhd8ed1ab_0    conda-forge
pathspec                  0.9.0              pyhd8ed1ab_0    conda-forge
pexpect                   4.8.0              pyh9f0ad1d_2    conda-forge
pickleshare               0.7.5           py39hde42818_1002    conda-forge
pip                       22.0.4             pyhd8ed1ab_0    conda-forge
platformdirs              2.5.1              pyhd8ed1ab_0    conda-forge
pluggy                    1.0.0                    pypi_0    pypi
prompt-toolkit            3.0.29             pyha770c72_0    conda-forge
prompt_toolkit            3.0.29               hd8ed1ab_0    conda-forge
protobuf                  3.18.0                   pypi_0    pypi
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
pure_eval                 0.2.2              pyhd8ed1ab_0    conda-forge
py                        1.10.0                   pypi_0    pypi
pyarrow                   8.0.0.dev533+g7a69bbf18           dev_0    <develop>
pycodestyle               2.8.0                    pypi_0    pypi
pycparser                 2.20                     pypi_0    pypi
pydata-sphinx-theme       0.7.2                    pypi_0    pypi
pyflakes                  2.4.0                    pypi_0    pypi
pygit2                    1.7.0                    pypi_0    pypi
pygithub                  1.55                     pypi_0    pypi
pygments                  2.12.0             pyhd8ed1ab_0    conda-forge
pyjwt                     2.2.0                    pypi_0    pypi
pynacl                    1.4.0                    pypi_0    pypi
pyparsing                 2.4.7                    pypi_0    pypi
pytest                    6.2.5                    pypi_0    pypi
pytest-lazy-fixture       0.6.3                    pypi_0    pypi
pytest-repeat             0.9.1                    pypi_0    pypi
python                    3.9.12          h9a8a25e_1_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python-dotenv             0.19.1                   pypi_0    pypi
python_abi                3.9                      2_cp39    conda-forge
pytz                      2022.1             pyhd8ed1ab_0    conda-forge
rapidjson                 1.1.0             he1b5a44_1002    conda-forge
raven                     6.10.0                   pypi_0    pypi
re2                       2022.04.01           h27087fc_0    conda-forge
readline                  8.1.2                h7f8727e_1    defaults
requests                  2.26.0                   pypi_0    pypi
requests-oauthlib         1.3.0                    pypi_0    pypi
requests-toolbelt         0.9.1                    pypi_0    pypi
responses                 0.16.0                   pypi_0    pypi
rhash                     1.4.1                h7f98852_0    conda-forge
ruamel-yaml               0.17.16                  pypi_0    pypi
ruamel-yaml-clib          0.2.6                    pypi_0    pypi
s2n                       1.3.11               h8d01263_0    conda-forge
s3fs                      2021.10.0                pypi_0    pypi
scalpl                    0.4.2                    pypi_0    pypi
schema                    0.7.4                    pypi_0    pypi
scipy                     1.8.0            py39hee8e79c_1    conda-forge
secretstorage             3.3.1                    pypi_0    pypi
semver                    2.13.0                   pypi_0    pypi
setuptools                62.1.0           py39hf3d152e_0    conda-forge
setuptools-scm            6.3.2                    pypi_0    pypi
six                       1.16.0             pyh6c4a22f_0    conda-forge
smmap                     4.0.0                    pypi_0    pypi
snappy                    1.1.9                hbd366e4_0    conda-forge
snowballstemmer           2.1.0                    pypi_0    pypi
sortedcontainers          2.4.0                    pypi_0    pypi
soupsieve                 2.2.1                    pypi_0    pypi
sphinx                    4.3.2                    pypi_0    pypi
sphinx-tabs               3.2.0                    pypi_0    pypi
sphinxcontrib-applehelp   1.0.2                    pypi_0    pypi
sphinxcontrib-devhelp     1.0.2                    pypi_0    pypi
sphinxcontrib-htmlhelp    2.0.0                    pypi_0    pypi
sphinxcontrib-jsmath      1.0.1                    pypi_0    pypi
sphinxcontrib-qthelp      1.0.3                    pypi_0    pypi
sphinxcontrib-serializinghtml 1.1.5                    pypi_0    pypi
sqlite                    3.38.5               h4ff8645_0    conda-forge
stack_data                0.2.0              pyhd8ed1ab_0    conda-forge
sysroot_linux-64          2.17                h4a8ded7_13    conda-forge
thrift-compiler           0.16.0               h519c5ea_1    conda-forge
thrift-cpp                0.16.0               h3e2b116_1    conda-forge
tk                        8.6.12               h27826a3_0    conda-forge
toml                      0.10.2                   pypi_0    pypi
tomli                     1.2.1                    pypi_0    pypi
traitlets                 5.1.1              pyhd8ed1ab_0    conda-forge
typed-ast                 1.5.3            py39hb9d737c_0    conda-forge
typing-extensions         3.10.0.2                 pypi_0    pypi
typing_extensions         4.2.0              pyha770c72_1    conda-forge
tzdata                    2022a                h191b570_0    conda-forge
uritemplate               4.1.1                    pypi_0    pypi
urllib3                   1.26.7                   pypi_0    pypi
valgrind                  3.18.1               hf817b99_0    conda-forge
wcwidth                   0.2.5              pyh9f0ad1d_2    conda-forge
werkzeug                  2.0.2                    pypi_0    pypi
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
wrapt                     1.13.2                   pypi_0    pypi
xz                        5.2.5                h516909a_1    conda-forge
yarl                      1.7.0                    pypi_0    pypi
zipp                      3.6.0                    pypi_0    pypi
zlib                      1.2.11            h166bdaf_1014    conda-forge
zstd                      1.5.2                ha95c52a_0    conda-forge

Environment info

active environment : pyarrow
    active env location : /home/antoine/miniconda3/envs/pyarrow
            shell level : 1
       user config file : /home/antoine/.condarc
 populated config files : /home/antoine/.condarc
          conda version : 4.12.0
    conda-build version : 3.21.8
         python version : 3.7.12.final.0
       virtual packages : __cuda=11.4=0
                          __linux=5.4.0=0
                          __glibc=2.31=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /home/antoine/miniconda3  (writable)
      conda av data dir : /home/antoine/miniconda3/etc/conda
  conda av metadata url : None
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/antoine/miniconda3/pkgs
                          /home/antoine/.conda/pkgs
       envs directories : /home/antoine/miniconda3/envs
                          /home/antoine/.conda/envs
               platform : linux-64
             user-agent : conda/4.12.0 requests/2.27.1 CPython/3.7.12 Linux/5.4.0-109-generic ubuntu/20.04.4 glibc/2.31
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

Wrong return type for std::isinf/isnan(double)

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

Really don't want to duplicate issues, but hope to get the response here faster, since this issue is reproducable both with pkgs::main and conda-forge. It also reproducible for both clang++ and g++. Tested with latest gcc version (13), but environment from pkgs::main:

ContinuumIO/anaconda-issues#13367

Installed packages

# packages in environment at /home/yevhenii/.miniconda3/envs/compiler:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main    defaults
_openmp_mutex             5.1                       1_gnu    defaults
_sysroot_linux-64_curr_repodata_hack 3                   haa98f57_10    defaults
binutils_impl_linux-64    2.38                 h2a08ee3_1    defaults
binutils_linux-64         2.38.0               hc2dff05_0    defaults
gcc_impl_linux-64         11.2.0               h1234567_1    defaults
gcc_linux-64              11.2.0               h5c386dc_0    defaults
gxx_impl_linux-64         11.2.0               h1234567_1    defaults
gxx_linux-64              11.2.0               hc2dff05_0    defaults
kernel-headers_linux-64   3.10.0              h57e8cba_10    defaults
ld_impl_linux-64          2.38                 h1181459_1    defaults
libgcc-devel_linux-64     11.2.0               h1234567_1    defaults
libgcc-ng                 11.2.0               h1234567_1    defaults
libgomp                   11.2.0               h1234567_1    defaults
libstdcxx-devel_linux-64  11.2.0               h1234567_1    defaults
libstdcxx-ng              11.2.0               h1234567_1    defaults
sysroot_linux-64          2.17                h57e8cba_10    defaults

Environment info

active environment : compiler
    active env location : /home/yevhenii/.miniconda3/envs/compiler
            shell level : 1
       user config file : /home/yevhenii/.condarc
 populated config files : /home/yevhenii/.condarc
          conda version : 24.3.0
    conda-build version : 24.3.0
         python version : 3.10.12.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=skylake
                          __conda=24.3.0=0
                          __glibc=2.35=0
                          __linux=5.15.123.1=0
                          __unix=0=0
       base environment : /home/yevhenii/.miniconda3  (writable)
      conda av data dir : /home/yevhenii/.miniconda3/etc/conda
  conda av metadata url : None
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/yevhenii/.miniconda3/pkgs
                          /home/yevhenii/.conda/pkgs
       envs directories : /home/yevhenii/.miniconda3/envs
                          /home/yevhenii/.conda/envs
               platform : linux-64
             user-agent : conda/24.3.0 requests/2.31.0 CPython/3.10.12 Linux/5.15.123.1-microsoft-standard-WSL2 ubuntu/22.04.4 glibc/2.35 solver/libmamba conda-libmamba-solver/24.1.0 libmambapy/1.5.8
                UID:GID : 1000:1000
             netrc file : /home/yevhenii/.netrc
           offline mode : False

Installing gcc does not add it in the PATH of the conda environment

Issue:
After installing gcc11 using the commands below, the gcc invoked when the conda environment is activated is not the one from your packages, but the system gcc. Is this appropriate? The user has to set their own environment variables to make your gcc packages callable. Seems to me this goes counter to the benefit of creating a conda environment.

conda create --name gcc11
conda activate gcc11
conda config --add channels conda-forge
conda config --set channel_priority strict
conda install gcc_linux-64   (installs gcc11)
gcc --version (prints 9.3, my system gcc, since it's calling /usr/bin/gcc)
~/miniconda3/envs/gcc11/libexec/gcc/x86_64-conda-linux-gnu/11.1.0/gcc --version (prints 11.1)

Specifically:

(gcc11) user@ubuntu2004:~$ gcc --version
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0

(gcc11) user@ubuntu2004:~$ $ ~/miniconda3/envs/gcc11/libexec/gcc/x86_64-conda-linux-gnu/11.1.0/gcc --version
gcc (GCC) 11.1.0

Environment (conda list):
(gcc11) user@ubuntu2004:~$ conda list
# packages in environment at /home/user/miniconda3/envs/gcc11:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       1_gnu    conda-forge
binutils_impl_linux-64    2.36.1               h193b22a_2    conda-forge
binutils_linux-64         2.36                 hf3e587d_0    conda-forge
gcc_impl_linux-64         11.1.0               h6b5115b_8    conda-forge
gcc_linux-64              11.1.0               h97fdae6_0    conda-forge
kernel-headers_linux-64   2.6.32              he073ed8_14    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
libgcc-devel_linux-64     11.1.0               h80e7780_8    conda-forge
libgcc-ng                 11.1.0               hc902ee8_8    conda-forge
libgomp                   11.1.0               hc902ee8_8    conda-forge
libsanitizer              11.1.0               h56837e0_8    conda-forge
libstdcxx-ng              11.1.0               h56837e0_8    conda-forge
sysroot_linux-64          2.12                he073ed8_14    conda-forge

Details about conda and system ( conda info ):
(gcc11) user@ubuntu2004:~$ conda info

     active environment : gcc11
    active env location : /home/user/miniconda3/envs/gcc11
            shell level : 2
       user config file : /home/user/.condarc
 populated config files : /home/user/.condarc
          conda version : 4.10.3
    conda-build version : not installed
         python version : 3.9.5.final.0
       virtual packages : __linux=5.4.0=0
                          __glibc=2.31=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /home/user/miniconda3  (writable)
      conda av data dir : /home/user/miniconda3/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/user/miniconda3/pkgs
                          /home/user/.conda/pkgs
       envs directories : /home/user/miniconda3/envs
                          /home/user/.conda/envs
               platform : linux-64
             user-agent : conda/4.10.3 requests/2.25.1 CPython/3.9.5 Linux/5.4.0-80-generic ubuntu/20.04.2 glibc/2.31
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

FC_FOR_BUILD not set when cross-compiling for Linux/{ppc64le,aarch64}

Issue:

When compiling native binaries in a cross-compilation the CC_FOR_BUILD and CXX_FOR_BUILD variables point to the correct native compilers, however the FC_FOR_BUILD is not available.

Environment variables (packages listed below in details)

INFO: activate-binutils_linux-aarch64.sh made the following environmental changes:
+ADDR2LINE=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-addr2line
+AR=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ar
+AS=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-as
+CXXFILT=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-c++filt
+ELFEDIT=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-elfedit
+GPROF=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gprof
+LD_GOLD=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ld.gold
+LD=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ld
+NM=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-nm
+OBJCOPY=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-objcopy
+OBJDUMP=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-objdump
+RANLIB=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ranlib
+READELF=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-readelf
+SIZE=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-size
+STRINGS=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-strings
+STRIP=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-strip
INFO: activate-gcc_linux-aarch64.sh made the following environmental changes:
-BUILD=aarch64-conda_cos7-linux-gnu
+build_alias=x86_64-conda-linux-gnu
+BUILD=x86_64-conda-linux-gnu
+CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-cc
+CC=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cc
+CFLAGS=-ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/plplot-5.15.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix
+CMAKE_ARGS=-DCMAKE_AR=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ar -DCMAKE_CXX_COMPILER_AR=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-ar -DCMAKE_C_COMPILER_AR=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-ar -DCMAKE_RANLIB=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ranlib -DCMAKE_CXX_COMPILER_RANLIB=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-ranlib -DCMAKE_C_COMPILER_RANLIB=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-ranlib -DCMAKE_LINKER=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-ld -DCMAKE_STRIP=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-strip -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_FIND_ROOT_PATH=$PREFIX;$BUILD_PREFIX/aarch64-conda-linux-gnu/sysroot -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_PROGRAM_PATH=$BUILD_PREFIX/bin;$PREFIX/bin -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=aarch64
+CMAKE_PREFIX_PATH=$PREFIX:$BUILD_PREFIX/aarch64-conda-linux-gnu/sysroot/usr
+CONDA_BUILD_SYSROOT=$BUILD_PREFIX/aarch64-conda-linux-gnu/sysroot
+_CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_aarch64_conda_cos7_linux_gnu
+CONDA_TOOLCHAIN_BUILD=x86_64-conda-linux-gnu
+CONDA_TOOLCHAIN_HOST=aarch64-conda-linux-gnu
+CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include
+CPP=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-cpp
+DEBUG_CFLAGS=-ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/plplot-5.15.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix
+DEBUG_CPPFLAGS=-D_DEBUG -D_FORTIFY_SOURCE=2 -Og -isystem $PREFIX/include
+GCC_AR=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-ar
+GCC=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc
+GCC_NM=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-nm
+GCC_RANLIB=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gcc-ranlib
+HOST=aarch64-conda-linux-gnu
+host_alias=aarch64-conda-linux-gnu
+LDFLAGS=-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--allow-shlib-undefined -Wl,-rpath,$PREFIX/lib -Wl,-rpath-link,$PREFIX/lib -L$PREFIX/lib
INFO: activate-gfortran_linux-aarch64.sh made the following environmental changes:
+DEBUG_FFLAGS=-ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/plplot-5.15.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -ftree-vectorize -fPIC -fstack-protector-strong -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fvar-tracking-assignments -pipe
+DEBUG_FORTRANFLAGS=-ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/plplot-5.15.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -ftree-vectorize -fPIC -fstack-protector-strong -pipe -Og -g -Wall -Wextra -fcheck=all -fbacktrace -fvar-tracking-assignments -pipe
+F77=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gfortran
+F90=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gfortran
+F95=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-f95
+FC=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gfortran
+FFLAGS=-ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/plplot-5.15.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix
+FORTRANFLAGS=-ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/plplot-5.15.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix
+GFORTRAN=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-gfortran
INFO: activate-gxx_linux-aarch64.sh made the following environmental changes:
+CXXFLAGS=-fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/plplot-5.15.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix
+CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++
+CXX=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-c++
+DEBUG_CXXFLAGS=-fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -ftree-vectorize -fPIC -fstack-protector-all -fno-plt -Og -g -Wall -Wextra -fvar-tracking-assignments -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/plplot-5.15.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix
+GXX=$BUILD_PREFIX/bin/aarch64-conda-linux-gnu-g++

Environment (conda list):
## Package Plan ##

  environment location: /home/conda/feedstock_root/build_artifacts/plplot_1645567675583/_build_env


The following NEW packages will be INSTALLED:

    _libgcc_mutex:                 0.1-conda_forge         conda-forge
    _openmp_mutex:                 4.5-1_gnu               conda-forge
    binutils_impl_linux-64:        2.36.1-h193b22a_2       conda-forge
    binutils_impl_linux-aarch64:   2.36.1-he24a65f_2       conda-forge
    binutils_linux-aarch64:        2.36-h38357a0_5         conda-forge
    bzip2:                         1.0.8-h7f98852_4        conda-forge
    c-ares:                        1.18.1-h7f98852_0       conda-forge
    ca-certificates:               2021.10.8-ha878542_0    conda-forge
    cmake:                         3.22.2-h1021d11_0       conda-forge
    expat:                         2.4.6-h27087fc_0        conda-forge
    gcc_impl_linux-64:             10.3.0-hf2f2afa_12      conda-forge
    gcc_impl_linux-aarch64:        10.3.0-h3721c86_12      conda-forge
    gcc_linux-aarch64:             10.3.0-hd47fc70_5       conda-forge
    gfortran_impl_linux-aarch64:   10.3.0-hc152c84_12      conda-forge
    gfortran_linux-aarch64:        10.3.0-hb3f9097_5       conda-forge
    gxx_impl_linux-64:             10.3.0-hf2f2afa_12      conda-forge
    gxx_impl_linux-aarch64:        10.3.0-h3721c86_12      conda-forge
    gxx_linux-aarch64:             10.3.0-hab23ad4_5       conda-forge
    kernel-headers_linux-64:       2.6.32-he073ed8_15      conda-forge
    kernel-headers_linux-aarch64:  4.18.0-h5b4a56d_13      conda-forge
    krb5:                          1.19.2-h48eae69_3       conda-forge
    ld_impl_linux-64:              2.36.1-hea4e1c9_2       conda-forge
    ld_impl_linux-aarch64:         2.36.1-h4e2ea54_2       conda-forge
    libcurl:                       7.81.0-h494985f_0       conda-forge
    libedit:                       3.1.20191231-he28a2e2_2 conda-forge
    libev:                         4.33-h516909a_1         conda-forge
    libgcc-devel_linux-64:         10.3.0-he6cfe16_12      conda-forge
    libgcc-devel_linux-aarch64:    10.3.0-hfaf2395_12      conda-forge
    libgcc-ng:                     11.2.0-h1d223b6_12      conda-forge
    libgomp:                       11.2.0-h1d223b6_12      conda-forge
    libnghttp2:                    1.46.0-ha19adfc_0       conda-forge
    libsanitizer:                  10.3.0-h26c7422_12      conda-forge
    libssh2:                       1.10.0-ha35d2d1_2       conda-forge
    libstdcxx-devel_linux-64:      10.3.0-he6cfe16_12      conda-forge
    libstdcxx-devel_linux-aarch64: 10.3.0-hfaf2395_12      conda-forge
    libstdcxx-ng:                  11.2.0-he4da1e4_12      conda-forge
    libuv:                         1.43.0-h7f98852_0       conda-forge
    libzlib:                       1.2.11-h36c2ea0_1013    conda-forge
    lz4-c:                         1.9.3-h9c3ff4c_1        conda-forge
    ncurses:                       6.3-h9c3ff4c_0          conda-forge
    ninja:                         1.10.2-h4bd325d_1       conda-forge
    openssl:                       3.0.0-h7f98852_2        conda-forge
    pkg-config:                    0.29.2-h36c2ea0_1008    conda-forge
    rhash:                         1.4.1-h7f98852_0        conda-forge
    sysroot_linux-64:              2.12-he073ed8_15        conda-forge
    sysroot_linux-aarch64:         2.17-h43d7e78_13        conda-forge
    tk:                            8.6.12-h27826a3_0       conda-forge
    xz:                            5.2.5-h516909a_1        conda-forge
    zlib:                          1.2.11-h36c2ea0_1013    conda-forge
    zstd:                          1.5.2-ha95c52a_0        conda-forge

Details about conda and system ( conda info ):
++ conda info

     active environment : base
    active env location : /opt/conda
            shell level : 1
       user config file : /home/conda/.condarc
 populated config files : /opt/conda/.condarc
                          /home/conda/.condarc
          conda version : 4.11.0
    conda-build version : 3.21.8
         python version : 3.9.10.final.0
       virtual packages : __linux=5.11.0=0
                          __glibc=2.17=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /opt/conda  (writable)
      conda av data dir : /opt/conda/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /opt/conda/pkgs
                          /home/conda/.conda/pkgs
       envs directories : /opt/conda/envs
                          /home/conda/.conda/envs
               platform : linux-64
             user-agent : conda/4.11.0 requests/2.27.1 CPython/3.9.10 Linux/5.11.0-1028-azure centos/7.9.2009 glibc/2.17
                UID:GID : 1001:1001
             netrc file : None
           offline mode : False

Wrong return type for std::isinf/isnan(double)

Solution to issue cannot be found in the documentation.

  • I checked the documentation.

Issue

Return type of std::isinf(double); must be bool, not int. Similar issue happens with pkgs/main.
Was able to reproduce both with clang++ and g++.

#include <cmath>

#include <type_traits>

// this one works as expected
static_assert(
  std::is_same_v < decltype(std::isinf(std::declval < float > ())), bool > );

// this works, but should not
static_assert(
  std::is_same_v < decltype(std::isinf(std::declval < double > ())), int > );

// this one does not work, but should
static_assert(
  std::is_same_v < decltype(std::isinf(std::declval < double > ())), bool > );

cpp reference (https://en.cppreference.com/w/cpp/numeric/math/isinf):

bool isinf( float num );
bool isinf( double num );
bool isinf( long double num );

To create environment:

conda create -n compiler -c conda-forge --override-channels gxx_linux-64 gcc_linux-64
conda activate compiler
x86_64-conda-linux-gnu-g++ --sysroot=${CONDA_BUILD_SYSROOT} -c test.hpp

Exact error:

test.hpp:15:8: error: static assertion failed
   15 |   std::is_same_v < decltype(std::isinf(std::declval < double > ())), bool > );
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Installed packages

# packages in environment at /home/yevhenii/.miniforge3/envs/compiler:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
binutils_impl_linux-64    2.40                 hf600244_0    conda-forge
binutils_linux-64         2.40                 hdade7a5_3    conda-forge
gcc_impl_linux-64         13.2.0               h338b0a0_5    conda-forge
gcc_linux-64              13.2.0               h1ed452b_3    conda-forge
gxx_impl_linux-64         13.2.0               h338b0a0_5    conda-forge
gxx_linux-64              13.2.0               he8deefe_3    conda-forge
kernel-headers_linux-64   2.6.32              he073ed8_17    conda-forge
ld_impl_linux-64          2.40                 h41732ed_0    conda-forge
libgcc-devel_linux-64     13.2.0             ha9c7c90_105    conda-forge
libgcc-ng                 13.2.0               h807b86a_5    conda-forge
libgomp                   13.2.0               h807b86a_5    conda-forge
libsanitizer              13.2.0               h7e041cc_5    conda-forge
libstdcxx-devel_linux-64  13.2.0             ha9c7c90_105    conda-forge
libstdcxx-ng              13.2.0               h7e041cc_5    conda-forge
sysroot_linux-64          2.12                he073ed8_17    conda-forge

Environment info

active environment : compiler
    active env location : /home/yevhenii/.miniforge3/envs/compiler
            shell level : 1
       user config file : /home/yevhenii/.condarc
 populated config files : /home/yevhenii/.miniforge3/.condarc
                          /home/yevhenii/.condarc
          conda version : 24.1.2
    conda-build version : not installed
         python version : 3.10.14.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=skylake
                          __conda=24.1.2=0
                          __glibc=2.35=0
                          __linux=5.15.123.1=0
                          __unix=0=0
       base environment : /home/yevhenii/.miniforge3  (writable)
      conda av data dir : /home/yevhenii/.miniforge3/etc/conda
  conda av metadata url : None
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /home/yevhenii/.miniforge3/pkgs
                          /home/yevhenii/.conda/pkgs
       envs directories : /home/yevhenii/.miniforge3/envs
                          /home/yevhenii/.conda/envs
               platform : linux-64
             user-agent : conda/24.1.2 requests/2.31.0 CPython/3.10.14 Linux/5.15.123.1-microsoft-standard-WSL2 ubuntu/22.04.4 glibc/2.35 solver/libmamba conda-libmamba-solver/24.1.0 libmambapy/1.5.7
                UID:GID : 1000:1000
             netrc file : /home/yevhenii/.netrc
           offline mode : False

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.