I have re-installed Anaconda2.
And I got the following error when 'python -c 'import tensorflow''
ImportError: /home/jj/anaconda2/bin/../lib/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/jj/anaconda2/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so)
environment
- CUDA8.0
- cuDNN 5.1
- gcc 5.4.1
- tensorflow r0.10
- Anaconda2 : 4.2
the following is in bashrc file
- export PATH="/home/jj/anaconda2/bin:$PATH"
- export CUDA_HOME=/usr/local/cuda-8.0
- export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
- export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
Seems to be a problem with Anaconda 4.*
You can either update the libgcc package to match your local version
conda update libgcc
but this will require downgrading "due to dependency conflicts" next time you update anaconda
.
OR you can mask the anaconda libstdc++ so that your system's libstdc++ is used
cd ~/anaconda2/lib
mv libstdc++.so libstdc++.so.bkp
mv libstdc++.so.6 libstdc++.so.6.bkp
You can further (optionally) create a softlink inside the anaconda lib directly
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6
These worked for me for the same problem for built-from-source (non-gpu support) tensorflow, Ubuntu 16.04, Anaconda 4.2.0.
Sources: Similar problem to Building TensorFlow from source on Ubuntu 16.04 w/ GPU: `GLIBCXX_3.4.20' not found which also points back to this.
I solved this problem by copying the libstdc++.so.6
file which contains version CXXABI_1.3.8
.
Try run the following search command first:
$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep CXXABI_1.3.8
If it returns CXXABI_1.3.8
. Then you can do the copying.
$ cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /home/jj/anaconda2/bin/../lib/libstdc++.so.6
I ended up here looking for my problem, same error message but different app.
My app gave the error with /lib64/libstdc++.so.6 which was pointing to /lib64/libstdc++.so.6.0.19
After reading other webs, I kind of figured out I had to "replace" to where my /lib64/libstdc++.so.6 was pointing out and a newer version was located in my conda environment... so:
(sudo) rm /system/path/to/lib/libstdc++.so.6
(sudo) ln -s /path/to/conda/lib/libstdc++.so.6.0.26 /system/path/to/lib/libstdc++.so.6
So I guess it's not the best solution but as user finally get the app works.
Also I read here, this:
Set the LD_LIBRARY_PATH before you run TF, so this lib would only be effective in this shell.
Hope this help.
Typing
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jj/anaconda2/lib/
in the terminal, will solve the problem.