GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kann 32-Bit-Gstreamer-ffmpeg nicht normal installieren, Bibliothek kann keine anderen 32-Bit-Bibliotheken finden?

Ich verwende Ubuntu 12.04 64 Bit und versuche, ein Spiel (GTA SA) in Wine zum Laufen zu bringen, aber es stürzt immer wieder ab. Nach dem Lesen der Fehlerprotokolle scheint es, dass ich einige 32-Bit-Versionen von gstreamer brauchte, wahrscheinlich um das Intro-Video abzuspielen. Ich habe bereits ia32-libs , weil ich irgendwo gelesen habe, dass ich das brauche, um 32-Bit-Software auszuführen. Ich habe zuerst versucht:

sudo apt-get install gstreamer0.10-ffmpeg:i386

Was zurückgibt:

 gstreamer0.10-ffmpeg:i386 : Depends: libavcodec53:i386 (>= 4:0.7.3-1) but it is not going to be installed or
                                      libavcodec-extra-53:i386 (>= 4:0.7.3-1) but it is not going to be installed

Und es hängt auch von libavformat, libpostproc und libswscale mit ungefähr dem gleichen Fehler ab. Also habe ich weiter gesucht und ein nettes Tool gefunden, getlibs, mit dem Sie 32-Bit-Bibliotheken installieren können. Ich denke, es platziert sie einfach in /usr/lib32 Verzeichnis, was wahrscheinlich nicht der beste Weg ist, aber ich habe es trotzdem versucht.

Also habe ich die 32-Bit-Bibliotheken mit Getlibs installiert, über die sich Wine beschwert hat. Jetzt habe ich verschiedene Fehler bekommen, im Grunde verweist die 32-Bit-Bibliothek auf andere Bibliotheken, die sie jetzt nicht finden kann. Einer der Fehler lautet beispielsweise:

Failed to load plugin '/usr/lib32/gstreamer-0.10/libgstffmpeg.so': libavformat.so.53: cannot open shared object file: No such file or directory

Mein erster Gedanke war also richtig, da es jetzt die 32-Bit-Version verwendet. Jetzt habe ich versucht, es mit ldd herauszufinden, um zu sehen, wo die Bibliothek auf andere Bibliotheken verweist:

# This one is fine
ldd /usr/lib/gstreamer-0.10/libgstffmpeg.so | grep avformat
libavformat.so.53 => /usr/lib/x86_64-linux-gnu/libavformat.so.53 (0x00007f8314181000)

# This one isn't
ldd /usr/lib32/gstreamer-0.10/libgstffmpeg.so | grep avformat
libavformat.so.53 => not found

libgstffmpeg.so kann also tatsächlich nicht das richtige libavformat.so finden. Ich habe erneut versucht, die 32-Bit-Version von libavformat mit getlibs zu installieren, wodurch sie in /usr/lib32/i386-linux-gnu/libavformat.so abgelegt wurde . Aber ldd sagt mir immer noch, dass es libavformat nicht finden kann. Dann habe ich versucht, einen symbolischen Link im selben Verzeichnis zu erstellen, habe ihn aber libavformat.so.53 genannt und sogar einen Symlink zu `/usr/lib/i386-linux-gnu/libavformat.so.53′ erstellt, aber beide geben mir den gleichen Fehler.

Jetzt bin ich mir sicher, dass dies wirklich nicht der richtige Weg ist, aber ich wusste nicht, wie ich es richtig machen sollte. Was ist also der richtige Weg, dies zu tun, oder hat gstreamer0.10-ffmpeg einfach keine 32-Bit- oder Multilib-Unterstützung? Und wie kann ich herausfinden, was das Verzeichnis ist, in dem libgstffmpeg (oder eine andere Bibliothek, denke ich) nach den 32-Bit-Bibliotheken sucht, auf die es verweist?

Verwandte:Linux – Wie kann man einen korrekten fehlerhaften RAM-Sektor gemäß der MemTest86+-Fehleranzeige auf die schwarze Liste setzen?

Akzeptierte Antwort:

Versuchen Sie:

ldconfig -p | grep lib32

Wenn Sie keine Ausgabe sehen, liegt dies daran, dass der Linker-Cache (lesen Sie den ersten Absatz von man ldconfig , und über das -p switch) verweist nicht auf /usr/lib32. Ich habe ein Ubuntu 12.04-System überprüft und das ist standardmäßig nicht drin. Sie können es hinzufügen zu:/etc/ld.so.conf.d/libc.conf die nur /usr/local/lib enthalten kann . Führen Sie einfach ldconfig aus , dann den Befehl -p von oben. Sie sollten das Zeug in /usr/lib32 sehen; Probieren Sie jetzt Ihren LDD auf der 32-Bit-Gstreamer-Bibliothek erneut aus.


Linux
  1. Linux – Soll ich 32 oder 64 Bit installieren?

  2. ld kann keine vorhandene Bibliothek finden

  3. 32-Bit-Bibliothek mit 64-Bit-Programm verknüpfen

  4. CentOS 64 Bit schlechter ELF-Interpreter

  5. Wie installiere ich wkhtmltopdf korrekt unter Debian 64 Bit?

So installieren Sie die Ncurses-Bibliothek unter Linux

So installieren Sie die PyBrain-Python-Bibliothek unter Linux

pkg-config-Fehler kann nicht gefunden werden

Finden Sie heraus, welcher Prozess sich am anderen Ende einer Pipe befindet

Finden Sie heraus, ob sich die Bibliothek im Pfad befindet

Wie finde ich das andere Ende der Unix-Socket-Verbindung?