NLeSC/root-conda-recipes

Changes in miniconda 4.3.27 breaking python 2.7

Closed this issue · 7 comments

ndawe commented

See conda/conda#6030
and https://groups.google.com/a/continuum.io/forum/#!topic/anaconda/1810eV8l7FU

Tavis-CI jobs are now failing for rootpy and root_numpy only for python 2.7. Any ideas?

ndawe commented

Is NLeSC's gcc now conflicting with the one shipped in conda?

I guess gcc and glibc need to be rebuilt using the new Conda compiler.

Oh noes.

I guess it's time to up the minimum version of glibc supported, since the world evolves. But this is more involved, and needs to be checked with Travis linux flavors that still support no-sudo caching. Has that changed @ndawe ? What is the default now?

ndawe commented

This is what I'm seeing:

0.01s$ export CONDA_ENV_PATH=$HOME/miniconda/envs/testenv
install.13
0.91s$ source activate testenv
Activate: ROOT has been sourced. Environment settings are ready. 
ROOTSYS=/home/travis/miniconda/envs/testenv
0.15s$ bash ci/test.sh
4.8.3
4.8.3
ldd (Ubuntu EGLIBC 2.19-0ubuntu6.13) 2.19
Copyright (C) 2014 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.
Written by Roland McGrath and Ulrich Drepper.
Python 2.7.14 :: Anaconda, Inc.
numpy 1.13.3
root: /home/travis/miniconda/envs/testenv/bin/../lib/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/travis/miniconda/envs/testenv/bin/../lib/./libicui18n.so.58)
root: /home/travis/miniconda/envs/testenv/bin/../lib/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /home/travis/miniconda/envs/testenv/bin/../lib/./libicui18n.so.58)
root: /home/travis/miniconda/envs/testenv/bin/../lib/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/travis/miniconda/envs/testenv/bin/../lib/./libicuuc.so.58)
root: /home/travis/miniconda/envs/testenv/bin/../lib/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /home/travis/miniconda/envs/testenv/bin/../lib/./libicuuc.so.58)

After the line 0.15s$ bash ci/test.sh above, the versions printed are the result of:

gcc -dumpversion
g++ -dumpversion
ldd --version
python --version

so 4.8.3 for gcc and 2.19 for glibc

I had the same error messages as reported by @ndawe above. This was solved by forcing an update of the stdc++ library:
conda update -f libstdcxx-ng

The NLeSC ROOT Conda package is no longer maintained and does not work properly with current Conda, modern Python, or modern ROOT. Use conda-forge ROOT instead:

Installing in a new environment:

conda create -n myrootenv python=3.7 root -c conda-forge
conda activate myrootenv
conda config --env --add channels conda-forge

From then on, use conda activate myrootenv to get in and conda deactivate to get out of the env. You should have a recent version of conda.

or

Installing in the current environment:

conda config --env --add channels conda-forge 
conda install root

Unlike the NLeSC package, this can even be the base environment if you really want to do that (it is not ideal, since it will be rather invasive, adding things like conda's compiler packages that are needed to compile with ROOT and Conda).

Conda-forge ROOT provides ROOT 6.16.00+, and supports Python 3.7, 3.6, and 2.7 on macOS and Linux. It is being tested by the ROOT team, and is automatically build by the conda-forge infrastructure. All default features and a huge number of optional features are turned on, and you can use it anywhere you would use ROOT, JupyROOT, or PyROOT.