如何修复:/usr/lib/libstdc++.so.6:未找到版本`GLIBCXX_3.4.15' [英] How to fix: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found

查看:1978
本文介绍了如何修复:/usr/lib/libstdc++.so.6:未找到版本`GLIBCXX_3.4.15'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我现在绝望找到一个修复这个。我编译一个共享库.so在Ubuntu 32位(已尝试在Debian和Ubuntu 64位下,但没有工作)



我得到: code> / usr / lib / libstdc ++。每次尝试加载我的插件时,找不到版本`GLIBCXX_3.4.15'。



以下是我收到此错误的方法:


  1. 安装最新的Ubuntu 32位

  2. sudo apt-get install build-essential

  3. 编译&加载我的插件(.so)

这里有一些链接,我发现和尝试,但没有为我工作:



(我的老问题:我在发布这个问题后几天就修复了,但我不记得我是怎么做的)



我的问题



有同样问题的另一个用户



另一个



我看到有些人通过移动libstdc ++认为)到某个目录,然后指向或链接idk到那个目录,但是这只是困惑我。



任何人都知道一个修复?



()
- 运行: strings /usr/lib/libstdc++.so.6 | grep GLIBC 在终端中给我: strings'/usr/lib/libstdc++.so.6':没有这样的文件。这可能是问题吗?




(Edit2 :)任何人都知道一个解决方案?

p>(Edit3)仍然需要一个解决方案。有没有办法看到在哪个发行版共享库编译?我知道我以前曾经编译过这个库,但不记得了。



(Edit4) ldd my_lib_.so 给我:

  linux-gate.so.1 => (0xb77d7000)
libstdc ++。so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6(0xb76c1000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1(0xb76a4000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6(0xb74fa000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6(0xb74ce000)
/lib/ld-linux.so.2(0xb77d8000)

ldd program_im_loading_so_into 给我:

 code> linux-gate.so.1 => (0xb77d8000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2(0xb77c0000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0(0xb77a5000)
libstdc ++。so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6(0xb76bb000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6(0xb768f000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1(0xb7672000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6(0xb74c9000)
/lib/ld-linux.so.2(0xb77d9000)

运行 strings /usr/lib/i386-linux-gnu/libstdc++.so.6 | grep GLIBCXX 给我:

  GLIBCXX_3.4 
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3 .4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3。 4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH


b $ b

,最后是我的gcc版本:

 `gcc version 4.6.4(Ubuntu / Linaro 4.6.4 -1ubuntu1〜12.04)`


解决方案

静态链接到libstdc ++ -static-libstdc ++ gcc选项。


So I'm now desperate in finding a fix for this. I'm compiling a shared library .so in Ubuntu 32 bit (Have tried doing it under Debian and Ubuntu 64 bit, but none worked either)

I keep getting: /usr/lib/libstdc++.so.6: version ``GLIBCXX_3.4.15' not found every time I try to load my plugin.

Here's how I'm getting this error:

  1. Install latest Ubuntu 32 bit
  2. sudo apt-get install build-essential
  3. Compile & load my plugin (.so)

Here are some links which I found and tried, but none worked for me:

(My old question: I somehow got it fixed a few days after posting this question, but I can't remember how exactly I did it)

My Question

Another user with the same problem

And another

I see some people fixed it by moving libstdc++(i think) to some directory and then pointing or linking idk what to that directory, but that just puzzled me.

Anyone know a fix?

(Edit:) - Running: strings /usr/lib/libstdc++.so.6 | grep GLIBC in terminal gives me: strings '/usr/lib/libstdc++.so.6': No such file. Could that be the problem? And if so, how do I install this library?

(Edit2:) Anyone else know of a solution?

(Edit3) Still in need of a solution. is there a way to see on which distro a shared library was compiled on? I know I once compiled this same library a while ago, but can't remember!!

(Edit4) ldd my_lib_.so gives me:

    linux-gate.so.1 =>  (0xb77d7000)
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb76c1000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb76a4000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb74fa000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb74ce000)
    /lib/ld-linux.so.2 (0xb77d8000)

ldd program_im_loading_so_into gives me:

    linux-gate.so.1 =>  (0xb77d8000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb77c0000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb77a5000)
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb76bb000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb768f000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb7672000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb74c9000)
    /lib/ld-linux.so.2 (0xb77d9000)

running strings /usr/lib/i386-linux-gnu/libstdc++.so.6 | grep GLIBCXX gives me:

GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH

and finally here's my gcc version:

`gcc version 4.6.4 (Ubuntu/Linaro 4.6.4-1ubuntu1~12.04)`

解决方案

Link statically to libstdc++ with -static-libstdc++ gcc option.

这篇关于如何修复:/usr/lib/libstdc++.so.6:未找到版本`GLIBCXX_3.4.15'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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