Ma question provient de mon problème de démarrage de ffmpeg. J'ai installé ffmpeg et il s'affiche comme installé:
whereis ffmpeg
ffmpeg: /usr/bin/ffmpeg /usr/bin/X11/ffmpeg /usr/share/ffmpeg /usr/share/man/man1/ffmpeg.1.gz
Plus tard, j'ai compris que certains programmes dépendent de bibliothèques qui ne sont pas fournies avec l'installation elle-même, j'ai donc vérifié avec la commande ldd ce qui manque:
# 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)
En fin de compte, mon ffmpeg est coupé de 7 bibliothèques aussi. J'ai d'abord pensé que chacune de ces bibliothèques devait être installée, mais que je ne le pensais, certaines ou toutes pourraient être installées, mais leur emplacement n'était pas connu de ffmpeg. J'ai lu que /etc/ld.so.conf et /etc/ld.so.cache contiennent les chemins d'accès aux bibliothèques, mais j'étais confus, car, il n'y avait qu'une seule ligne dans
/etc/ld.so.conf
cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
mais un très long /etc/ld.so.cache
.
J'en suis maintenant à un point où je me sens perdu sur la façon de poursuivre mes recherches. Cela pourrait être une prochaine étape utile pour comprendre comment je peux déterminer si une bibliothèque donnée est effectivement installée même si son emplacement est inconnu de ffmpeg.
---------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:
Recherchez dans/usr/lib et/usr/lib64 ces bibliothèques. Si vous trouvez que l'un des fichiers ffmpeg est manquant, créez un lien symbolique pour qu'il existe dans l'autre répertoire.
Vous pouvez également exécuter une recherche pour "libm.so.6" et voir où se trouve ce fichier. Il y a de fortes chances que ffmpeg recherche dans le même répertoire les fichiers manquants. Créez des liens symboliques là-bas une fois que vous les avez trouvés.
S'ils n'existent pas sur votre serveur, installez le package qui les inclut. S'ils sont inclus dans le package ffmpeg mais que vous ne les voyez pas, essayez de réinstaller ffmpeg.
Vous pouvez utiliser:
ldconfig -p | grep libavfilter
S'il n'y a pas de bibliothèque de sortie n'est pas installé. Je ne suis pas sûr que ce soit fiable à 100%.
Au moins dans la page de manuel de ldconfig
pour l'option -p:
Imprimez les listes de répertoires et de bibliothèques candidates stockées dans le cache actuel.
Utilisez la commande file `which ffmpeg`
pour déterminer si ffmpeg
est compilé pour 64 bits ou 32 bits. S'il s'agit de 64 bits, recherchez les bibliothèques dans /usr/lib64
. S'il est 32 bits, recherchez les bibliothèques dans /usr/lib
. Si ffmpeg
est lié statiquement, cela n'a pas d'importance ... il n'utilisera aucune bibliothèque partagée et la sortie de file
vous le dira également.
Ne liez pas symboliquement les bibliothèques entre /usr/lib
et /usr/lib64
. Cela ne vous aidera pas car un programme 64 bits aura besoin de bibliothèques 64 bits (trouvées dans /usr/lib64
) et un programme 32 bits aura besoin de bibliothèques 32 bits (trouvées dans /usr/lib32
).
Si les bibliothèques n'existent pas sur votre serveur, installez le package qui les fournit (assurez-vous de choisir le package 32 bits si ffmpeg est 32 bits, etc.).