conda-forge / ctng-compilers-feedstock

A conda-smithy repository for ctng-compilers.
BSD 3-Clause "New" or "Revised" License
12 stars 28 forks source link

Should libgcc-ng be the same version as gcc? #60

Closed AntoinePrv closed 3 years ago

AntoinePrv commented 3 years ago

Issue: I use the cxx-compiler (gcc 9.3, linux-64, micromamba) to compile and sanitize (with -fsanitize=address) some code, which used to work well. Now, installing cxx-compiler installs gcc 9.3 but libgcc-ng 11.1.0 and I get a linker error

/home/runner/micromamba/envs/undefined/bin/../lib/gcc/x86_64-conda-linux-gnu/9.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: cannot find -lasan

Reverting to libgcc-ng 9.3 solves the issue.

Is this the correct behaviour, or should gcc and libgcc-ng be the same version?


Environment (conda list):

``` $ conda list List of packages in environment: "/root/micromamba/envs/ecole" Name Version Build Channel ────────────────────────────────────────────────────────────────────────────────────────── _libgcc_mutex 0.1 conda_forge conda-forge/linux-64 _openmp_mutex 4.5 1_gnu conda-forge/linux-64 alabaster 0.7.12 py_0 conda-forge/noarch ampl-mp 3.1.0 h616b090_1004 conda-forge/linux-64 appdirs 1.4.4 pyh9f0ad1d_0 conda-forge/noarch attrs 21.2.0 pyhd8ed1ab_0 conda-forge/noarch babel 2.9.1 pyh44b312d_0 conda-forge/noarch backcall 0.2.0 pyh9f0ad1d_0 conda-forge/noarch backports 1.0 py_2 conda-forge/noarch backports.functools_lru_cache 1.6.4 pyhd8ed1ab_0 conda-forge/noarch binutils 2.36.1 hdd6e379_1 conda-forge/linux-64 binutils_impl_linux-64 2.36.1 h193b22a_1 conda-forge/linux-64 binutils_linux-64 2.36 hf3e587d_33 conda-forge/linux-64 black 21.7b0 pyhd8ed1ab_0 conda-forge/noarch bleach 3.3.1 pyhd8ed1ab_0 conda-forge/noarch breathe 4.30.0 pyhd8ed1ab_0 conda-forge/noarch brotlipy 0.7.0 py39h3811e60_1001 conda-forge/linux-64 bzip2 1.0.8 h7f98852_4 conda-forge/linux-64 c-ares 1.17.1 h7f98852_1 conda-forge/linux-64 c-compiler 1.2.0 h7f98852_0 conda-forge/linux-64 ca-certificates 2021.5.30 ha878542_0 conda-forge/linux-64 catch2 2.13.6 h4bd325d_0 conda-forge/linux-64 ccache 4.3 haef5404_1 conda-forge/linux-64 certifi 2021.5.30 py39hf3d152e_0 conda-forge/linux-64 cffi 1.14.6 py39he32792d_0 conda-forge/linux-64 cfgv 3.3.0 pyhd8ed1ab_0 conda-forge/noarch chardet 4.0.0 py39hf3d152e_1 conda-forge/linux-64 charset-normalizer 2.0.0 pyhd8ed1ab_0 conda-forge/noarch clang 11.1.0 ha770c72_1 conda-forge/linux-64 clang-11 11.1.0 default_ha53f305_1 conda-forge/linux-64 clang-tools 11.1.0 default_ha53f305_1 conda-forge/linux-64 clangxx 11.1.0 default_ha53f305_1 conda-forge/linux-64 cli11 2.0.0 h9c3ff4c_0 conda-forge/linux-64 click 8.0.1 py39hf3d152e_0 conda-forge/linux-64 cmake 3.21.1 h8897547_0 conda-forge/linux-64 cmarkgfm 0.6.0 py39h3811e60_0 conda-forge/linux-64 colorama 0.4.4 pyh9f0ad1d_0 conda-forge/noarch cppad 20210000.6 h9c3ff4c_0 conda-forge/linux-64 cryptography 3.4.7 py39hbca0aa6_0 conda-forge/linux-64 cxx-compiler 1.2.0 h4bd325d_0 conda-forge/linux-64 dataclasses 0.8 pyhc8e2a94_1 conda-forge/noarch dbus 1.13.6 h48d8840_2 conda-forge/linux-64 decorator 5.0.9 pyhd8ed1ab_0 conda-forge/noarch distlib 0.3.2 pyhd8ed1ab_0 conda-forge/noarch distro 1.5.0 pyh9f0ad1d_0 conda-forge/noarch docutils 0.16 py39hf3d152e_3 conda-forge/linux-64 doxygen 1.9.1 hb166930_1 conda-forge/linux-64 editdistance-s 1.0.0 py39h1a9c180_1 conda-forge/linux-64 expat 2.4.1 h9c3ff4c_0 conda-forge/linux-64 filelock 3.0.12 pyh9f0ad1d_0 conda-forge/noarch fmt 8.0.1 h4bd325d_0 conda-forge/linux-64 gcc_impl_linux-64 9.3.0 h70c0ae5_19 conda-forge/linux-64 gcc_linux-64 9.3.0 hf25ea35_33 conda-forge/linux-64 gettext 0.19.8.1 h0b5b191_1005 conda-forge/linux-64 glib 2.68.3 h9c3ff4c_0 conda-forge/linux-64 glib-tools 2.68.3 h9c3ff4c_0 conda-forge/linux-64 gmp 6.2.1 h58526e2_0 conda-forge/linux-64 gxx_impl_linux-64 9.3.0 hd87eabc_19 conda-forge/linux-64 gxx_linux-64 9.3.0 h3fbe746_33 conda-forge/linux-64 identify 2.2.11 pyhd8ed1ab_0 conda-forge/noarch idna 3.1 pyhd3deb0d_0 conda-forge/noarch imagesize 1.2.0 py_0 conda-forge/noarch importlib-metadata 4.6.1 py39hf3d152e_0 conda-forge/linux-64 importlib_metadata 4.6.1 hd8ed1ab_0 conda-forge/noarch iniconfig 1.1.1 pyh9f0ad1d_0 conda-forge/noarch ipopt 3.14.2 h7ede334_0 conda-forge/linux-64 ipython 7.25.0 py39hef51801_1 conda-forge/linux-64 ipython_genutils 0.2.0 py_1 conda-forge/noarch jedi 0.18.0 py39hf3d152e_2 conda-forge/linux-64 jeepney 0.7.0 pyhd8ed1ab_0 conda-forge/noarch jinja2 3.0.1 pyhd8ed1ab_0 conda-forge/noarch kernel-headers_linux-64 2.6.32 he073ed8_14 conda-forge/noarch keyring 23.0.1 py39hf3d152e_0 conda-forge/linux-64 krb5 1.19.1 hcc1bbae_0 conda-forge/linux-64 ld_impl_linux-64 2.36.1 hea4e1c9_1 conda-forge/linux-64 libblas 3.9.0 9_openblas conda-forge/linux-64 libcblas 3.9.0 9_openblas conda-forge/linux-64 libclang-cpp11.1 11.1.0 default_ha53f305_1 conda-forge/linux-64 libcurl 7.78.0 h2574ce0_0 conda-forge/linux-64 libedit 3.1.20191231 he28a2e2_2 conda-forge/linux-64 libev 4.33 h516909a_1 conda-forge/linux-64 libffi 3.3 h58526e2_2 conda-forge/linux-64 libgcc-devel_linux-64 9.3.0 h7864c58_19 conda-forge/linux-64 libgcc-ng 11.1.0 hc902ee8_2 conda-forge/linux-64 libgfortran-ng 11.1.0 h69a702a_0 conda-forge/linux-64 libgfortran5 11.1.0 h6c583b3_0 conda-forge/linux-64 libglib 2.68.3 h3e27bee_0 conda-forge/linux-64 libgomp 11.1.0 hc902ee8_2 conda-forge/linux-64 libiconv 1.16 h516909a_0 conda-forge/linux-64 liblapack 3.9.0 9_openblas conda-forge/linux-64 libllvm11 11.1.0 hf817b99_2 conda-forge/linux-64 libnghttp2 1.43.0 h812cca2_0 conda-forge/linux-64 libopenblas 0.3.15 pthreads_h8fe5266_1 conda-forge/linux-64 libssh2 1.9.0 ha56f1ee_6 conda-forge/linux-64 libstdcxx-devel_linux-64 9.3.0 hb016644_19 conda-forge/linux-64 libstdcxx-ng 11.1.0 h56837e0_2 conda-forge/linux-64 libuv 1.42.0 h7f98852_0 conda-forge/linux-64 lz4-c 1.9.3 h9c3ff4c_0 conda-forge/linux-64 make 4.3 hd18ef5c_1 conda-forge/linux-64 markupsafe 2.0.1 py39h3811e60_0 conda-forge/linux-64 matplotlib-inline 0.1.2 pyhd8ed1ab_2 conda-forge/noarch metis 5.1.0 h58526e2_1006 conda-forge/linux-64 more-itertools 8.8.0 pyhd8ed1ab_0 conda-forge/noarch mumps-include 5.2.1 ha770c72_10 conda-forge/linux-64 mumps-seq 5.2.1 h47a8eb5_10 conda-forge/linux-64 mypy_extensions 0.4.3 py39hf3d152e_3 conda-forge/linux-64 ncurses 6.2 h58526e2_4 conda-forge/linux-64 ninja 1.10.2 h4bd325d_0 conda-forge/linux-64 nodeenv 1.6.0 pyhd8ed1ab_0 conda-forge/noarch numpy 1.21.1 py39hdbf815f_0 conda-forge/linux-64 openssl 1.1.1k h7f98852_0 conda-forge/linux-64 packaging 21.0 pyhd8ed1ab_0 conda-forge/noarch parso 0.8.2 pyhd8ed1ab_0 conda-forge/noarch pathspec 0.9.0 pyhd8ed1ab_0 conda-forge/noarch pcre 8.45 h9c3ff4c_0 conda-forge/linux-64 pexpect 4.8.0 pyh9f0ad1d_2 conda-forge/noarch pickleshare 0.7.5 py39hde42818_1002 conda-forge/linux-64 pip 21.2.1 pyhd8ed1ab_0 conda-forge/noarch pkginfo 1.7.1 pyhd8ed1ab_0 conda-forge/noarch pluggy 0.13.1 py39hf3d152e_4 conda-forge/linux-64 pre-commit 2.13.0 py39hf3d152e_0 conda-forge/linux-64 prompt-toolkit 3.0.19 pyha770c72_0 conda-forge/noarch ptyprocess 0.7.0 pyhd3deb0d_0 conda-forge/noarch py 1.10.0 pyhd3deb0d_0 conda-forge/noarch pybind11 2.7.0 py39h1a9c180_0 conda-forge/linux-64 pybind11-global 2.7.0 py39h1a9c180_0 conda-forge/linux-64 pycparser 2.20 pyh9f0ad1d_2 conda-forge/noarch pygments 2.9.0 pyhd8ed1ab_0 conda-forge/noarch pyopenssl 20.0.1 pyhd8ed1ab_0 conda-forge/noarch pyparsing 2.4.7 pyh9f0ad1d_0 conda-forge/noarch pyscipopt 3.2.2 py39he80948d_0 conda-forge/linux-64 pysocks 1.7.1 py39hf3d152e_3 conda-forge/linux-64 pytest 6.2.4 py39hf3d152e_0 conda-forge/linux-64 pytest-helpers-namespace 2021.4.29 pyhd8ed1ab_0 conda-forge/noarch python 3.9.6 h49503c6_1_cpython conda-forge/linux-64 python_abi 3.9 2_cp39 conda-forge/linux-64 pytz 2021.1 pyhd8ed1ab_0 conda-forge/noarch pyyaml 5.4.1 py39h3811e60_0 conda-forge/linux-64 readline 8.1 h46c0cb4_0 conda-forge/linux-64 readme_renderer 27.0 pyh9f0ad1d_0 conda-forge/noarch regex 2021.7.6 py39h3811e60_0 conda-forge/linux-64 requests 2.26.0 pyhd8ed1ab_0 conda-forge/noarch requests-toolbelt 0.9.1 py_0 conda-forge/noarch rfc3986 1.5.0 pyhd8ed1ab_0 conda-forge/noarch rhash 1.4.1 h7f98852_0 conda-forge/linux-64 scikit-build 0.11.1 py39he80948d_2 conda-forge/linux-64 scip 7.0.3 hf5bcbcd_1 conda-forge/linux-64 scotch 6.0.9 h3858553_1 conda-forge/linux-64 secretstorage 3.3.1 py39hf3d152e_0 conda-forge/linux-64 setuptools 49.6.0 py39hf3d152e_3 conda-forge/linux-64 six 1.16.0 pyh6c4a22f_0 conda-forge/noarch snowballstemmer 2.1.0 pyhd8ed1ab_0 conda-forge/noarch sphinx 4.0.3 pyh6c4a22f_0 conda-forge/noarch sphinx_rtd_theme 0.5.2 pyhd8ed1ab_1 conda-forge/noarch sphinxcontrib-applehelp 1.0.2 py_0 conda-forge/noarch sphinxcontrib-devhelp 1.0.2 py_0 conda-forge/noarch sphinxcontrib-htmlhelp 2.0.0 pyhd8ed1ab_0 conda-forge/noarch sphinxcontrib-jsmath 1.0.1 py_0 conda-forge/noarch sphinxcontrib-qthelp 1.0.3 py_0 conda-forge/noarch sphinxcontrib-serializinghtml 1.1.5 pyhd8ed1ab_0 conda-forge/noarch sqlite 3.36.0 h9cd32fc_0 conda-forge/linux-64 sysroot_linux-64 2.12 he073ed8_14 conda-forge/noarch tbb 2020.2 h4bd325d_4 conda-forge/linux-64 tk 8.6.10 h21135ba_1 conda-forge/linux-64 toml 0.10.2 pyhd8ed1ab_0 conda-forge/noarch tomli 1.1.0 pyhd8ed1ab_0 conda-forge/noarch tqdm 4.61.2 pyhd8ed1ab_1 conda-forge/noarch traitlets 5.0.5 py_0 conda-forge/noarch twine 3.4.2 pyhd8ed1ab_0 conda-forge/noarch typed-ast 1.4.3 py39h3811e60_0 conda-forge/linux-64 typing_extensions 3.10.0.0 pyha770c72_0 conda-forge/noarch tzdata 2021a he74cb21_1 conda-forge/noarch urllib3 1.26.6 pyhd8ed1ab_0 conda-forge/noarch virtualenv 20.4.7 py39hf3d152e_0 conda-forge/linux-64 wcwidth 0.2.5 pyh9f0ad1d_2 conda-forge/noarch webencodings 0.5.1 py_1 conda-forge/noarch wheel 0.36.2 pyhd3deb0d_0 conda-forge/noarch xsimd 7.5.0 h4bd325d_1 conda-forge/linux-64 xtensor 0.23.10 h4bd325d_0 conda-forge/linux-64 xtensor-python 0.25.3 py39h5472131_0 conda-forge/linux-64 xtl 0.7.2 h4bd325d_1 conda-forge/linux-64 xz 5.2.5 h516909a_1 conda-forge/linux-64 yaml 0.2.5 h516909a_0 conda-forge/linux-64 zipp 3.5.0 pyhd8ed1ab_0 conda-forge/noarch zlib 1.2.11 h516909a_1010 conda-forge/linux-64 zstd 1.5.0 ha95c52a_0 conda-forge/linux-64 ```


Details about conda and system ( conda info ):

``` $ conda info __ __ ______ ___ ____ _____ ___ / /_ ____ _ / / / / __ `__ \/ __ `/ __ `__ \/ __ \/ __ `/ / /_/ / / / / / / /_/ / / / / / / /_/ / /_/ / / .___/_/ /_/ /_/\__,_/_/ /_/ /_/_.___/\__,_/ /_/ environment : ecole (active) env location : /root/micromamba/envs/ecole user config files : /root/.mambarc populated config files : micromamba version : 0.15.2 virtual packages : __unix=0=0 __linux=5.10.7=0 __glibc=2.31=0 __archspec=1=x86_64 base environment : /root/micromamba platform : linux-64 ```
isuruf commented 3 years ago

Looks like libasan.so bumped its SOVERSION which hasn't happened in forever so we didn't expect this. Are you using these in for a conda package built by conda-build or outside of conda-build?

AntoinePrv commented 3 years ago

Outside conda-build.

isuruf commented 3 years ago

Should be fixed now. For gcc<=9.3.0, libgcc-ng is pinned to the same version as gcc_impl_*. For gcc>=9.4.0, there's a new package libsanitizer which is pinned to the same version as gcc_impl_*, but libgcc-ng has only a lower bound of the version as gcc_impl_*