libstdc ++. so.6: невозможно открыть файл общих объектов: нет такого файла или каталога


92

Я хочу запустить команду Cilkscreen с программой cilk ++, но у меня возникла эта ошибка

/usr/local/cilk/bin/../lib32/pinbin: ошибка при загрузке разделяемых библиотек: libstdc ++. so.6: невозможно открыть файл общих объектов: нет такого файла или каталога

Не могли бы вы мне помочь

Ответы:


222

Попробуй это:

apt-get install lib32stdc++6

7
Это намного лучше, чем установка ia32-libs (как предлагает trion). Для этого мне пришлось установить 1 или 2 другие зависимости, в то время как ia32-libs имеет 241 зависимость, что составляет 267 МБ дополнительного дискового пространства.
Майк

1
Это также работает для запуска виртуальных устройств Microsoft Windows для тестирования самораспаковывающейся программы. Благодарность!
Чарльз Энгельке

4
@takeit Стоит ли устанавливать lib64stdc++6вместо 64-битной машины ?
боддхисаттва

@boddhisattva, я думаю lib32stdc++6, для 64-битной машины с 32-битным программным обеспечением. Нечто похожее на «слой совместимости». Для запуска 64-битного («родного») программного обеспечения на 64-битной машине вам просто необходимо libstdc++6. (Ссылки предназначены для Ubuntu 14.04 Trusty Tahr; я не могу найти ссылку для Ubuntu 10.10 Maverick Meerkat.)
Франклин Ю,

Замечательно, хотя я столкнулся с этой проблемой в другой ситуации, когда я пытался собрать исходный код Android, он отлично решил проблему. Большое вам спасибо !!! ls
oscarz

15

Я предполагаю, что вы используете Linux на машине amd64. Папка, в которой находится ваш исполняемый файл ( lib32), предлагает 32-битный исполняемый файл, для которого требуются 32-битные библиотеки.

Кажется, что их нет в вашей системе, поэтому вам нужно установить их вручную. Название пакета зависит от вашего дистрибутива, для Debian - ia32-libsдля Fedora libstdc++.<version>.i686.


Я использую Linux на Ubuntu 10.10
ammouna

Затем вы хотите сделать это способом Debian и установить ia32-libsили переключиться на 64-разрядную версию программного обеспечения, которое вы пытаетесь использовать.
Fabian Knorr

Я установил этот пакет, но теперь у меня возникла еще одна ошибка «процесс
прерван

Похоже, вы пытаетесь подключить 64-битный отладчик / монитор к 32-битному приложению или наоборот? Вам действительно стоит попробовать получить 64-битные компоненты и создать 64-битные исполняемые файлы; это сделает жизнь намного проще.
Fabian Knorr

1
Как я могу это сделать ? Я новичок в Linux и не очень хорошо понимаю, как подключить 64-битный отладчик / монитор к 32-битному приложению ov / s. не могли бы вы объяснить это, пожалуйста?
ammouna

9

Для использования Fedora:

yum install libstdc++44.i686

Вы можете узнать, какие версии поддерживаются, запустив:

yum list all | grep libstdc | grep 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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.