libstdc ++。so.6:无法打开共享对象文件:没有这样的文件或目录


92

我想用cilk ++程序运行Cilkscreen命令,但出现此错误

/usr/local/cilk/bin/../lib32/pinbin:加载共享库时出错:libstdc ++。so.6:无法打开共享库文件:没有这样的文件或目录

你能帮我吗

Answers:


221

试试这个:

apt-get install lib32stdc++6

6
这比安装ia32-libs(由trion提出)好得多。这样做,我必须安装1个或2个其他依赖项,而ia32-libs具有241个依赖项,总共需要267 MB的额外磁盘空间。
Mike

1
这也可以运行Microsoft Windows虚拟设备以测试自解压程序。谢谢!
Charles Engelke

4
@takeit对于64位计算机,我们应该安装它lib64stdc++6吗?
boddhisattva

我认为@boddhisattva lib32stdc++6适用于运行32位软件的64位计算机。类似于“兼容层”。要在64位计算机上运行64位(“本机”)软件,您只需要libstdc++6。(这些链接适用于Ubuntu 14.04 Trusty Tahr;我找不到该链接适用于Ubuntu 10.10 Maverick Meerkat。)
Franklin Yu

太棒了,尽管我在尝试构建android源代码的另一种情况下遇到了这个问题,但它完美地解决了这个问题。非常感谢!!! ls
oscarzhou '17

15

我想您是在amd64机器上运行Linux。您的可执行文件所在的文件夹(lib32)建议使用32位可执行文件,该文件需要32位库。

这些似乎在您的系统上不存在,因此您需要手动安装它们。软件包名称取决于您的发行版,对于Debian而言ia32-libs,对于Fedora而言libstdc++.<version>.i686


我在Ubuntu 10.10上运行Linux
ammouna 2012年

然后,您要以Debian方式进行操作,然后安装ia32-libs或切换到要使用的软件的64位版本。
Fabian Knorr

我已经安装了此软件包,但现在又遇到了另一个错误“进程被信号-7 E杀死:附加到pid 3874失败:不允许操作”
ammouna 2012年

看起来您正在尝试将64位调试器/监视器附加到32位应用程序,反之亦然?您实际上应该尝试获取64位组件并创建64位可执行文件。这将使生活更加轻松。
Fabian Knorr 2012年

1
我怎样才能做到这一点 ?我是Linux的初学者,我不太了解您如何将64位调试器/监视器附加到32位应用程序ov / s。您能解释一下吗
ammouna 2012年

9

对于Fedora使用:

yum install libstdc++44.i686

您可以通过运行以下命令来查找支持哪些版本:

yum list all | grep libstdc | grep i686


7

对于Red Hat:

sudo yum install libstdc++.i686
sudo yum install libstdc++-devel.i686

1

/usr/local/cilk/bin/../lib32/pinbin动态链接到库libstdc ++。so.6,该库不再存在。您需要重新编译Cilk


但是libstdc ++。so.6存在于/ usr / lib文件夹中
ammouna

1
是的,但是由于它是32位应用程序,因此需要/usr/lib32/libstdc++.so.6
Fabian Knorr 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.