conda builds on Linux have problematic libstdcxx-ng dependency?
I was trying to install freud from conda (on Python 3.5) and it was defaulting to an old package version, 0.6.3, because I didn't have the anaconda
channel installed. It needed that channel to satisfy the dependencies for libstdcxx-ng
and libgcc-ng
. I'm not sure if these dependencies are really necessary (they're only specified for Linux), and there is no guidance to add the anaconda
channel for Linux users. We should either remove the dependencies, or tell people to add the appropriate channels to their conda configuration.
Comments (5)
-
-
reporter Proposed resolution @vramasub: Users installing via conda should ensure they have the default channel enabled. (Are
anaconda
anddefaults
different channels? I believe the packages were found onanaconda
and notdefaults
, but I'm not sure what the situation was in the.condarc
file of the computer where I had this problem.) -
I'm fairly certain that the "anaconda" channel as listed at https://anaconda.org/anaconda is in the list of defaults.
"anaconda" as opposed to "miniconda" is actually a conda metapackage that brings in ~400 other packages pinned at chosen versions: https://anaconda.org/anaconda/anaconda
-
reporter - changed component to build-install
-
reporter - changed status to resolved
- Log in to comment
libstdcxx-ng and libgcc-ng are required to run freud. A user with a CentOS 6 (e.g.) system will not have C++ libraries that contain C++11 features used by freud. These dependencies provide that in the conda environment.
They should be available in the defaults channel. Even conda-forge assumes that the user has the default channel enabled.
Regardless, a newly rewritten recipe for freud will not need these deps added manually. Instead the compiler('cxx') build configuration will automatically add the proper dependencies.