uwsgi:/usr/lib/libstdc++.so.6:未找到版本“CXXABI_1.3.8"(/usr/lib/x86_64-linux-gnu/libicuuc.so.55 需要) [英] uwsgi: /usr/lib/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/lib/x86_64-linux-gnu/libicuuc.so.55

查看:71
本文介绍了uwsgi:/usr/lib/libstdc++.so.6:未找到版本“CXXABI_1.3.8"(/usr/lib/x86_64-linux-gnu/libicuuc.so.55 需要)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在运行 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-不是.

但它对我不起作用.问题依旧:

<块引用>

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

我的系统运行 Ubuntu 16.04.

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

解决方案

来自:https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_install

<块引用>

如果您已经安装了旧版本的 libstdc++,那么错误可能类似于以下内容之一:

./a.out:/usr/lib/libstdc++.so.6: 未找到版本 `GLIBCXX_3.4.20'./a.out:/usr/lib/libstdc++.so.6: 未找到版本CXXABI_1.3.8"

<块引用>

这意味着链接器找到了/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/)

找到路径:

找到 libstdc++.so.6

总而言之:gcc 动态链接器搜索预配置目录列表,如下所述:https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_install共享库 libstdc++.so.6 已经存在,我们只需要将链接器指向正确的位置.

I got this error when I ran sentry run web.

I am confused about it and tried a lot of things, such as:

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

and

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

But it didn't work for me. The problem is still there:

uwsgi: /usr/lib/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/lib/x86_64-linux-gnu/libicuuc.so.55)

My system runs Ubuntu 16.04.

How to solve this problem? Please help me.

解决方案

From: https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_install

If you already have an older version of libstdc++ installed then the error might look like one of the following instead:

./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

This means the linker found /usr/lib/libstdc++.so.6 but that library belongs to an older version of GCC than was used to compile and link the program a.out (or some part of it).

The gcc dynamic linker needs the new path to the newer library:

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

i.e.:

export LD_LIBRARY_PATH=/usr/lib64/:$LD_LIBRARY_PATH

(depending on your system you may need /usr/lib/)

Find the path:

locate libstdc++.so.6

in summary: the gcc dynamic linker searches a list of preconfigured directories as described: https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_install The shared library libstdc++.so.6 is already there we just have to point the linker to the correct location.

这篇关于uwsgi:/usr/lib/libstdc++.so.6:未找到版本“CXXABI_1.3.8"(/usr/lib/x86_64-linux-gnu/libicuuc.so.55 需要)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆