Skocz do zawartości
Zaloguj się, aby obserwować  
Groszeq

Problem przy libkach Debian

Polecane posty

Witam,

 

Postanowiłem postawić serwer w grze Call of Duty 1 i mam mały problem. Przy uruchamianiu serwera:

./cod_lnxded: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

Następnie wykonałem:

apt-get install libstdc++5

Komunikat jaki otrzymałem to wklepaniu komendy powyżej:

^[[?6c^[[?6clibstdc++5 jest juĹź w najnowszej wersji.
0 aktualizowanych, 0 nowo instalowanych, 0 usuwanych i 24 nieaktualizowanych.

W czym może leżeć problem? Jeżeli mam podesłać jakieś zawartości plików, komunikaty to proszę o informację.

 

System to Debian 7.5 - wersja z paczki OVH.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

cod jest aplikacją 32bit system pewnie masz 64bit

 

apt-get install lib32gcc1

 

Jeśli będziesz miał problem z brakiem pakietów użyj

 

dpkg --add-architecture i386
apt-get update
apt-get install lib32gcc1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wpisałem:

 

 

Zainstalowało libki.

 

Następnie próba uruchomienia serwera:

Komenda:

./cod1-start

Po wpisaniu ww. komendy komunikat:

./cod_lnxded: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

Zawartość pliku cod1-start:

#!/bin/bash



cd /home/cod1

./cod_lnxded +set sv_punkbuster 1 +set fs_basepath /home/cod1 +set fs_homepath /home/cod1 +set sv_maxclients 32 +set net_ip 37.187.104.81 +set net_port 28960 +exec server.cfg +map_rotate

Chyba nadal jest problem z libkami a nie samym plikiem cod1-start, więc na ten moment można chyba pominąć sprawdzanie poprawności tego pliku.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
 linux-gate.so.1 =>  (0xf77e2000)
        libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xf77d7000)
        libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xf77be000)
        libstdc++.so.5 => not found
        libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xf7797000)
        libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf777a000)
        libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xf7616000)
        /lib/ld-linux.so.2 (0xf77e3000)

Zastanawia mnie to: libstdc++.so.5 => not found - jednak z tego co pamiętam to instalowałem (chyba, że nie ta komenda i zainstalowało mi zupełnie inne lib).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Poszukaj pliku w systemie:

find /lib* /usr -name 'libstdc++.so*'

Jeśli znajdzie to ścieżkę musisz dodać do /etc/ld.so.conf lub /etc/ld.so.conf.d/ i odpalić ldconfig. Stawiam, że masz w systemie bibliotekę libstdc++.so.6. Ja bym spróbował zrobić symlinka o nazwie libstdc++.so.5.

 

Ewentualnie możesz uruchomić binarkę ze zmienną:

LD_LIBRARY_PATH="/katalog/do/bibliotek:/inny/katalog" ./cod_lnxded

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
/usr/lib/x86_64-linux-gnu/libstdc++.so.5
/usr/lib/x86_64-linux-gnu/libstdc++.so.5.0.7
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17
W folderze ld.so.conf.d mam pliki:
i486-linux-gnu.conf
libc.conf
x86_64-linux-gnu.conf
zz_i386-biarch-compat.conf

Nie rozumiem za bardzo gdzie mam dodać i jak ścieżkę do tego /etc/ld.so.conf.d/ ew. symlinka.

Aż tak w linuxie nie jestem oblatany, a z kilkukrotnym postawieniem serwera TS3, CS 1.6, ET czy MC nie miałem takich problemów jak przy CoDzie. W google nt. bibliotek nie ma zbyt dużo napisane, a jak jest i występuje podobny problem do mojego to jedynie zalecają zainstalowanie ich. U mnie jak widać libstdc++.so.5.0.7 jest więc problem jest bardzo dziwny - jak dla mnie.

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

W takim razie brakuje Ci jeszcze pakietu lib32stdc++6.

apt-get install lib32stdc++6

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nadal wyskakuje błąd:

./cod_lnxded: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

Kurcze, co jest grane skoro so.5 są:

/usr/lib/x86_64-linux-gnu/libstdc++.so.5
/usr/lib/x86_64-linux-gnu/libstdc++.so.5.0.7

A nawet po wpisaniu:

 

ldd ./cod_lnxded

libstdc++.so.5 => not found

Chyba, że problem tkwi w czymś innym, a nie już o same libki 5.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Tak trudno zauważyć, że potrzebujesz libstdc++ z i386, a nie x86_64?

 

Jak nie masz multiarcha to instalujesz ia32-libs.

 

Jak masz, to lib32stdc++6, poprzedzone dpkg --add-architecture i386 i apt-get update.

Edytowano przez Archi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ruszyło.

 

wielkie dzięki @Archi i @ahes oraz pozostałym za pomoc.

 

Pozdrawiam i jeszcze raz dzięki.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zaloguj się, aby skomentować

Będziesz mógł dodać komentarz po zalogowaniu się



Zaloguj się
Zaloguj się, aby obserwować  

×