scikit-hep / root_pandas

A Python module for conveniently loading/saving ROOT files as pandas DataFrames
MIT License
109 stars 35 forks source link

Install root_pandas with miniconda on CERN lxplus: version `CXXABI_1.3.8' not found #51

Closed fdesse closed 6 years ago

fdesse commented 6 years ago

Hello everyone, I hope I am asking this in the correct place. I am trying to setup an environment using miniconda (conda 4.3.30) on CERN's lxplus to work with root_pandas.

This is what I do: $ conda create --name=test-plain-pandas $ source activate test-plain-pandas $ conda install root_pandas $ conda activate test

The installation goes fine. The list of packages installed is the following: conda_list

However, once the installation is done, if I try to run root:

(test-plain-pandas) [fadesse@lxplus069 ewp-Bd2Kstee-AngAna]$ root -b -q

I get the following error:

root: /afs/cern.ch/work/f/fadesse/miniconda3/envs/test-plain-pandas/bin/../lib/libstdc++.so.6: version 'CXXABI_1.3.8' not found (required by /afs/cern.ch/work/f/fadesse/miniconda3/envs/test-plain-pandas/bin/../lib/./libicui18n.so.58) root: /afs/cern.ch/work/f/fadesse/miniconda3/envs/test-plain-pandas/bin/../lib/libstdc++.so.6: version 'CXXABI_1.3.9' not found (required by /afs/cern.ch/work/f/fadesse/miniconda3/envs/test-plain-pandas/bin/../lib/./libicui18n.so.58) root: /afs/cern.ch/work/f/fadesse/miniconda3/envs/test-plain-pandas/bin/../lib/libstdc++.so.6: version 'CXXABI_1.3.8' not found (required by /afs/cern.ch/work/f/fadesse/miniconda3/envs/test-plain-pandas/bin/../lib/./libicuuc.so.58) root: /afs/cern.ch/work/f/fadesse/miniconda3/envs/test-plain-pandas/bin/../lib/libstdc++.so.6: version 'CXXABI_1.3.9' not found (required by /afs/cern.ch/work/f/fadesse/miniconda3/envs/test-plain-pandas/bin/../lib/./libicuuc.so.58)

Any idea what I am doing wrong ?

Thank you for you help !

chrisburr commented 6 years ago

This question might be better suited to the NLeSC repository where that package is maintained: https://github.com/NLeSC/root-conda-recipes/

That said I think you're using an old build of root as the NLeSC packages for root_numpy and root_pandas are outdated.

It is better to install root_pandas using pip, the following works for me:

conda create --name=test-plain-pandas-2 python=3.6
source activate test-plain-pandas-2
conda install root
source activate test-plain-pandas-2
conda install binutils
pip install root_pandas --no-binary root_numpy
fdesse commented 6 years ago

Thank you very much for your reply. Indeed, installing with pip instead worked ! :) Sorry for the noise, I guess I can close this issue. Hope this will be helpful to other people having the same problem.

fdesse commented 6 years ago

I'm sorry to reopen this issue. Your solution seemed to work, but now matplotlib is not working any more :( If I install it either with conda install matplotlib or with pip install matplotlib When I do: from matplotlib import pyplot ImportError: /afs/cern.ch/work/f/fadesse/miniconda3/envs/angAna/lib/./libstdc++.so.6: version 'CXXABI_1.3.9' not found (required by /afs/cern.ch/work/f/fadesse/miniconda3/envs/angAna/lib/python3.6/site-packages/matplotlib/_path.cpython-36m-x86_64-linux-gnu.so)

It seems to me that this issue starts after installing root via conda install root

Any idea what could make this happen ? Thx !

chrisburr commented 6 years ago

It would be better to report this issue to the NLeSC repository so they can actually fix it.

I think this is caused by NLeSC shipping packages which are incompatible with Anaconda 5 (as it is now based on gcc 7.2). This hack fixes it for me:

cd $CONDA_PREFIX/lib
rm libstdc++.so.6
ln -s libstdc++.so.6.0.24 libstdc++.so.6

If the file libstdc++.so.6.0.24 doesn't already exist, try conda install gxx_linux-64.

chrisburr commented 6 years ago

Thanks for making an issue upstream! 👍

(NLeSC/root-conda-recipes#32)