Pytanie libstdc ++. so.6: nie można otworzyć pliku obiektu współdzielonego: Brak takiego pliku lub katalogu


Chcę uruchomić polecenie Cilkscreen za pomocą programu ++ Cilk, ale mam ten błąd

/usr/local/cilk/bin/../lib32/pinbin: błąd podczas ładowania udostępnionego   biblioteki: libstdc ++. so.6: nie można otworzyć pliku obiektu współdzielonego: Nie ma takiego   plik lub katalog

Czy możesz mi pomóc


76
2017-07-13 13:44


pochodzenie




Odpowiedzi:


Spróbuj tego:

apt-get install lib32stdc++6

188
2017-07-01 17:40



To jest dużo lepsze niż instalowanie ia32-lib (zgodnie z propozycją TRION). W tym celu musiałem zainstalować 1 lub 2 inne zależności, podczas gdy ia32-libs ma 241 zależności, co daje dodatkowe 267 MB miejsca na dysku. - Mike
Działa to również w celu uruchomienia urządzeń wirtualnych Microsoft Windows do testowania samorozpakowującego się programu. Dzięki! - Charles Engelke
@takeit Dla maszyny 64-bitowej powinniśmy zainstalować lib64stdc++6 zamiast ? - boddhisattva
@boddhisattva, myślę lib32stdc++6 jest dla 64-bitowej maszyny z 32-bitowym oprogramowaniem. Coś podobnego do "warstwy kompatybilności". Aby uruchomić 64-bitowe ("natywne") oprogramowanie na maszynie 64-bitowej, wystarczy libstdc++6. (Linki do Ubuntu 14.04 Trusty Tahr; nie mogę znaleźć linku do Ubuntu 10.10 Maverick Meerkat.) - Franklin Yu
Niesamowite, choć spotkałem się z tym problemem w innej sytuacji, w której próbuję zbudować kod źródłowy Androida, doskonale rozwiązał problem. Dziękuję bardzo! !!! - Oscar Zhou1989


Zakładam, że korzystasz z Linuksa na maszynie amd64. Folder, w którym znajduje się twój plik wykonywalny (lib32) sugeruje 32-bitowy plik wykonywalny, który wymaga 32-bitowych bibliotek.

Te wydają się nie być obecne w twoim systemie, więc musisz zainstalować je ręcznie. Nazwa pakietu zależy od twojej dystrybucji, ponieważ jest to Debian ia32-libsdla Fedory libstdc++.<version>.i686.


15
2017-07-13 13:53



Używam Linuksa na Ubuntu 10.10 - ammouna
Następnie chcesz zrobić to w Debianie i zainstalować ia32-libs lub przejdź do 64-bitowej wersji oprogramowania, którego próbujesz użyć. - Fabian Knorr
Zainstalowałem ten pakiet, ale mam teraz kolejny błąd "proces zabity przez sygnał -7 E: Dołącz do pid 3874 nie powiodło się: Operacja niedozwolona" - ammouna
Wygląda na to, że próbujesz dołączyć 64-bitowy debugger / monitor do aplikacji 32-bitowej i na odwrót? Powinieneś naprawdę spróbować uzyskać 64-bitowe komponenty i tworzyć 64-bitowe pliki wykonywalne; to znacznie ułatwi życie. - Fabian Knorr
Jak mogę to zrobić ? Jestem początkującym Linkiem i nie rozumiem, jak dobrze podłączyć 64-bitowy debugger / monitor do 32-bitowej aplikacji o v / s. czy możesz to wyjaśnić? - ammouna


W przypadku Fedory:

yum install libstdc++44.i686

Możesz dowiedzieć się, które wersje są obsługiwane przez uruchomienie:

yum list all | grep libstdc | grep i686


9
2018-04-19 11:46



Działa dla amazon linux. - angelokh


Dla Red Hat:

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

4
2018-03-18 08:52





/usr/local/cilk/bin/../lib32/pinbin jest dynamicznie połączony z biblioteką libstdc ++. so.6, której już nie ma. Musisz przekompilować Cilka


1
2017-07-13 13:48



ale libstdc ++. so.6 istnieje w folderze / usr / lib - ammouna
Tak, ale ponieważ jest to aplikacja 32-bitowa, wymaga tego /usr/lib32/libstdc++.so.6. - Fabian Knorr