当前位置:   article > 正文

使用conda安装gcc_your compiler (g++ 4.8.5) may be abi-incompatible

your compiler (g++ 4.8.5) may be abi-incompatible with pytorch! please use a

安装apex和一些包时,常常能见到报错:

                                 !! WARNING !!

  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  Your compiler (g++ 4.8.5) may be ABI-incompatible with PyTorch!
  Please use a compiler that is ABI-compatible with GCC 4.9 and above.
  See https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html.

  See https://gist.github.com/goldsborough/d466f43e8ffc948ff92de7486c5216d6
  for instructions on how to install GCC 4.9 or higher.
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

                                !! WARNING !!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

但是有时,我们无法更改系统的gcc版本,这时conda可以帮助我们。

解决方案:

有代理的情况下:

proxychains4 conda install https://anaconda.org/brown-data-science/gcc/5.4.0/download/linux-64/gcc-5.4.0-0.tar.bz2
  • 1

没有代理的话,也可以先wget下载到本地,然后conda install gcc-5.4.0-0.tar.bz2
 
 

但这个package有一个坑在于,其中的lib/libstdc++.so.6软链接指向的是其中的lib/libstdc++.so.6.0.21动态链接库,并且这个软链接会覆盖环境内原有的软链接,也就是说,之后使用的都会是这个package所提供的动态链接库。

这就会导致如果你的pytorch版本较高时,由于libstdc++.so.6.0.21版本较旧,所以会报错:

ImportError: anaconda3/envs/your_env_name/lib/python3.7/site-packages/torch/lib/../../../.././libstdc++.so.6: version `CXXABI_1.3.11' not found
  • 1

解决方法也很简单,进入anaconda3/envs/your_env_name/lib,然后将软链接libstdc++.so.6指向高版本的动态链接库,例如同目录下的libstdc++.so.6.0.26等等

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号