uwsgi:/usr/lib/libstdc++.so.6:找不到版本`CXXABI_1.3.8'(/usr/lib/x86_64-linux-gnu/libicuuc.so.55要求

时间:2017-07-21 10:44:34

标签: linux ubuntu-16.04 sentry

我跑sentry run web时遇到此错误。

我很困惑并尝试了很多东西,例如:

https://stackoverflow.com/questions/20357033/how-to-fix-program-name-usr-lib-x86-64-linux-gnu-libstdc-so-6-version-cxx,

https://stackoverflow.com/questions/35392310/error-building-gcc-4-8-3-from-source-libstdc-so-6-version-cxxabi-1-3-8-not.

但它对我不起作用。问题仍然存在:

  

uwsgi:/usr/lib/libstdc++.so.6:找不到版本“CXXABI_1.3.8”(/usr/lib/x86_64-linux-gnu/libicuuc.so.55要求)

我的系统运行 Ubuntu 16.04

如何解决这个问题?请帮帮我。

1 个答案:

答案 0 :(得分:0)

发件人:https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_install

  

如果您已经安装了旧版本的libstdc ++,则该错误可能看起来像以下之一:

./a.out: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found
./a.out: /usr/lib/libstdc++.so.6: version `CXXABI_1.3.8' not found
  

这意味着链接器找到了/usr/lib/libstdc++.so.6,但该库属于GCC的旧版本,而不是用于编译和链接a.out(或其中的一部分)程序的版本。

gcc动态链接器需要指向较新库的新路径:

export LD_LIBRARY_PATH=${prefix}/lib:$LD_LIBRARY_PATH

即:

export LD_LIBRARY_PATH=/usr/lib64/:$LD_LIBRARY_PATH

(取决于您的系统,您可能需要/ usr / lib /)

找到路径:

locate libstdc++.so.6

摘要:gcc动态链接器按照以下说明搜索预配置目录的列表:https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_install 共享库libstdc ++。so.6已经存在,我们只需要将链接器指向正确的位置即可。