Meine Frage rührt von meinem Problem beim Starten von ffmpeg her. Ich habe ffmpeg installiert und es wird als installiert angezeigt:
whereis ffmpeg
ffmpeg: /usr/bin/ffmpeg /usr/bin/X11/ffmpeg /usr/share/ffmpeg /usr/share/man/man1/ffmpeg.1.gz
Später stellte ich fest, dass einige Programme von Bibliotheken abhängen, die nicht mit der Installation selbst geliefert werden. Deshalb überprüfte ich mit dem Befehl ldd, was fehlt:
# ldd /usr/bin/ffmpeg
linux-vdso.so.1 => (0x00007fff71fe9000)
libavfilter.so.0 => not found
libpostproc.so.51 => not found
libswscale.so.0 => not found
libavdevice.so.52 => not found
libavformat.so.52 => not found
libavcodec.so.52 => not found
libavutil.so.49 => not found
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5f20bdf000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5f209c0000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5f205fb000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5f20f09000)
Wie sich herausstellt, ist mein ffmpeg von 7 Bibliotheken abgeschnitten, um zu funktionieren. Ich dachte zuerst, dass jede dieser Bibliotheken installiert werden muss, aber als ich herausfand, dass einige oder alle installiert sein könnten, aber ihr Speicherort ist ffmpeg unbekannt. Ich habe gelesen, dass /etc/ld.so.conf und /etc/ld.so.cache die Pfade zu den Bibliotheken enthalten, aber ich war verwirrt, weil nur eine Zeile darin war
/etc/ld.so.conf
cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
aber ein sehr langer /etc/ld.so.cache
.
Ich bin jetzt an einem Punkt angelangt, an dem ich mich nicht mehr weiter erforschen kann. Es könnte ein hilfreicher nächster Schritt sein, herauszufinden, wie ich feststellen kann, ob eine bestimmte Bibliothek tatsächlich installiert ist, auch wenn ihr Speicherort ffmpeg unbekannt ist.
---------Output---of----apt-cache-policy-----request---------
apt-cache policy
Package files:
100 /var/lib/dpkg/status
release a=now
500 http://archive.canonical.com/ubuntu/ trusty/partner Translation-en
500 http://archive.canonical.com/ubuntu/ trusty/partner i386 Packages
release v=14.04,o=Canonical,a=trusty,n=trusty,l=Partner archive,c=partner
origin archive.canonical.com
500 http://archive.canonical.com/ubuntu/ trusty/partner amd64 Packages
release v=14.04,o=Canonical,a=trusty,n=trusty,l=Partner archive,c=partner
origin archive.canonical.com
500 http://security.ubuntu.com/ubuntu/ trusty-security/universe Translation-en
500 http://security.ubuntu.com/ubuntu/ trusty-security/restricted Translation-en
500 http://security.ubuntu.com/ubuntu/ trusty-security/multiverse Translation-en
500 http://security.ubuntu.com/ubuntu/ trusty-security/main Translation-en
500 http://security.ubuntu.com/ubuntu/ trusty-security/multiverse i386 Packages
release v=14.04,o=Ubuntu,a=trusty-security,n=trusty,l=Ubuntu,c=multiverse
origin security.ubuntu.com
500 http://security.ubuntu.com/ubuntu/ trusty-security/universe i386 Packages
release v=14.04,o=Ubuntu,a=trusty-security,n=trusty,l=Ubuntu,c=universe
origin security.ubuntu.com
500 http://security.ubuntu.com/ubuntu/ trusty-security/restricted i386 Packages
release v=14.04,o=Ubuntu,a=trusty-security,n=trusty,l=Ubuntu,c=restricted
origin security.ubuntu.com
500 http://security.ubuntu.com/ubuntu/ trusty-security/main i386 Packages
release v=14.04,o=Ubuntu,a=trusty-security,n=trusty,l=Ubuntu,c=main
origin security.ubuntu.com
500 http://security.ubuntu.com/ubuntu/ trusty-security/multiverse amd64 Packages
release v=14.04,o=Ubuntu,a=trusty-security,n=trusty,l=Ubuntu,c=multiverse
origin security.ubuntu.com
500 http://security.ubuntu.com/ubuntu/ trusty-security/universe amd64 Packages
release v=14.04,o=Ubuntu,a=trusty-security,n=trusty,l=Ubuntu,c=universe
origin security.ubuntu.com
500 http://security.ubuntu.com/ubuntu/ trusty-security/restricted amd64 Packages
release v=14.04,o=Ubuntu,a=trusty-security,n=trusty,l=Ubuntu,c=restricted
origin security.ubuntu.com
500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
release v=14.04,o=Ubuntu,a=trusty-security,n=trusty,l=Ubuntu,c=main
origin security.ubuntu.com
500 http://archive.ubuntu.com/ubuntu/ trusty-updates/universe Translation-en
500 http://archive.ubuntu.com/ubuntu/ trusty-updates/restricted Translation-en
500 http://archive.ubuntu.com/ubuntu/ trusty-updates/multiverse Translation-en
500 http://archive.ubuntu.com/ubuntu/ trusty-updates/main Translation-en
500 http://archive.ubuntu.com/ubuntu/ trusty-updates/multiverse i386 Packages
release v=14.04,o=Ubuntu,a=trusty-updates,n=trusty,l=Ubuntu,c=multiverse
origin archive.ubuntu.com
500 http://archive.ubuntu.com/ubuntu/ trusty-updates/universe i386 Packages
release v=14.04,o=Ubuntu,a=trusty-updates,n=trusty,l=Ubuntu,c=universe
origin archive.ubuntu.com
500 http://archive.ubuntu.com/ubuntu/ trusty-updates/restricted i386 Packages
release v=14.04,o=Ubuntu,a=trusty-updates,n=trusty,l=Ubuntu,c=restricted
origin archive.ubuntu.com
500 http://archive.ubuntu.com/ubuntu/ trusty-updates/main i386 Packages
release v=14.04,o=Ubuntu,a=trusty-updates,n=trusty,l=Ubuntu,c=main
origin archive.ubuntu.com
500 http://archive.ubuntu.com/ubuntu/ trusty-updates/multiverse amd64 Packages
release v=14.04,o=Ubuntu,a=trusty-updates,n=trusty,l=Ubuntu,c=multiverse
origin archive.ubuntu.com
500 http://archive.ubuntu.com/ubuntu/ trusty-updates/universe amd64 Packages
release v=14.04,o=Ubuntu,a=trusty-updates,n=trusty,l=Ubuntu,c=universe
origin archive.ubuntu.com
500 http://archive.ubuntu.com/ubuntu/ trusty-updates/restricted amd64 Packages
release v=14.04,o=Ubuntu,a=trusty-updates,n=trusty,l=Ubuntu,c=restricted
origin archive.ubuntu.com
500 http://archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
release v=14.04,o=Ubuntu,a=trusty-updates,n=trusty,l=Ubuntu,c=main
origin archive.ubuntu.com
500 http://archive.ubuntu.com/ubuntu/ trusty/universe Translation-en
500 http://archive.ubuntu.com/ubuntu/ trusty/restricted Translation-en
500 http://archive.ubuntu.com/ubuntu/ trusty/multiverse Translation-en
500 http://archive.ubuntu.com/ubuntu/ trusty/main Translation-en
500 http://archive.ubuntu.com/ubuntu/ trusty/multiverse i386 Packages
release v=14.04,o=Ubuntu,a=trusty,n=trusty,l=Ubuntu,c=multiverse
origin archive.ubuntu.com
500 http://archive.ubuntu.com/ubuntu/ trusty/universe i386 Packages
release v=14.04,o=Ubuntu,a=trusty,n=trusty,l=Ubuntu,c=universe
origin archive.ubuntu.com
500 http://archive.ubuntu.com/ubuntu/ trusty/restricted i386 Packages
release v=14.04,o=Ubuntu,a=trusty,n=trusty,l=Ubuntu,c=restricted
origin archive.ubuntu.com
500 http://archive.ubuntu.com/ubuntu/ trusty/main i386 Packages
release v=14.04,o=Ubuntu,a=trusty,n=trusty,l=Ubuntu,c=main
origin archive.ubuntu.com
500 http://archive.ubuntu.com/ubuntu/ trusty/multiverse amd64 Packages
release v=14.04,o=Ubuntu,a=trusty,n=trusty,l=Ubuntu,c=multiverse
origin archive.ubuntu.com
500 http://archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
release v=14.04,o=Ubuntu,a=trusty,n=trusty,l=Ubuntu,c=universe
origin archive.ubuntu.com
500 http://archive.ubuntu.com/ubuntu/ trusty/restricted amd64 Packages
release v=14.04,o=Ubuntu,a=trusty,n=trusty,l=Ubuntu,c=restricted
origin archive.ubuntu.com
500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
release v=14.04,o=Ubuntu,a=trusty,n=trusty,l=Ubuntu,c=main
origin archive.ubuntu.com
700 http://extra.linuxmint.com/ rebecca/main i386 Packages
release v=17.1,o=linuxmint,a=rebecca,n=rebecca,l=linuxmint,c=main
origin extra.linuxmint.com
700 http://extra.linuxmint.com/ rebecca/main amd64 Packages
release v=17.1,o=linuxmint,a=rebecca,n=rebecca,l=linuxmint,c=main
origin extra.linuxmint.com
700 http://packages.linuxmint.com/ rebecca/import i386 Packages
release v=17.1,o=linuxmint,a=rebecca,n=rebecca,l=linuxmint,c=import
origin packages.linuxmint.com
700 http://packages.linuxmint.com/ rebecca/upstream i386 Packages
release v=17.1,o=linuxmint,a=rebecca,n=rebecca,l=linuxmint,c=upstream
origin packages.linuxmint.com
700 http://packages.linuxmint.com/ rebecca/main i386 Packages
release v=17.1,o=linuxmint,a=rebecca,n=rebecca,l=linuxmint,c=main
origin packages.linuxmint.com
700 http://packages.linuxmint.com/ rebecca/import amd64 Packages
release v=17.1,o=linuxmint,a=rebecca,n=rebecca,l=linuxmint,c=import
origin packages.linuxmint.com
700 http://packages.linuxmint.com/ rebecca/upstream amd64 Packages
release v=17.1,o=linuxmint,a=rebecca,n=rebecca,l=linuxmint,c=upstream
origin packages.linuxmint.com
700 http://packages.linuxmint.com/ rebecca/main amd64 Packages
release v=17.1,o=linuxmint,a=rebecca,n=rebecca,l=linuxmint,c=main
origin packages.linuxmint.com
Pinned packages:
apt-get -f install
bitte auch die Ausgabe von in deine Frage einfügen ? Hinweis: ubuntu basiert auf Ubuntu 14.04, Sie können also nachsehen, ob ffmpeg nicht in Ihrer Distribution enthalten ist.Antworten:
Suchen Sie in / usr / lib und / usr / lib64 nach diesen Bibliotheken. Wenn Sie feststellen, dass einer der ffmpeg fehlt, verknüpfen Sie ihn mit einem Symbol, damit er im anderen Verzeichnis vorhanden ist.
Sie können auch eine Suche nach 'libm.so.6' durchführen und sehen, wo sich diese Datei befindet. Es besteht eine gute Chance, dass ffmpeg im selben Verzeichnis nach den fehlenden sucht. Verknüpfe sie dort, sobald du sie gefunden hast.
Wenn sie auf Ihrem Server nicht vorhanden sind, installieren Sie das Paket, das sie enthält. Wenn sie im ffmpeg-Paket enthalten sind, Sie sie jedoch nicht sehen, installieren Sie ffmpeg erneut.
quelle
Sie können verwenden:
Wenn keine Ausgabebibliothek vorhanden ist, wird diese nicht installiert. Ich bin nicht sicher, ob dies 100% zuverlässig ist.
Zumindest in der Manpage von
ldconfig
für Option -p:quelle
Verwenden Sie den Befehl
file `which ffmpeg`
um festzustellen, obffmpeg
für 64-Bit- oder 32-Bit-Versionen kompiliert wurde. Wenn es 64-Bit ist, suchen Sie nach den Bibliotheken in/usr/lib64
. Wenn es 32-Bit ist, suchen Sie nach den Bibliotheken in/usr/lib
. Wennffmpeg
statisch verknüpft ist, spielt es keine Rolle ... es werden keine gemeinsam genutzten Bibliotheken verwendet, und die Ausgabe vonfile
wird Ihnen dies ebenfalls mitteilen.Verknüpfen Sie Bibliotheken nicht symbolisch zwischen
/usr/lib
und/usr/lib64
. Dies hilft Ihnen nicht weiter, da ein 64-Bit-Programm 64-Bit-Bibliotheken (gefunden in/usr/lib64
) und ein 32-Bit-Programm 32-Bit-Bibliotheken (gefunden in/usr/lib32
) benötigt.Wenn die Bibliotheken auf Ihrem Server nicht vorhanden sind, installieren Sie das Paket, das sie bereitstellt (stellen Sie sicher, dass Sie das 32-Bit-Paket auswählen, wenn ffmpeg 32-Bit ist usw.).
quelle