एक साझा पुस्तकालय स्थापित होने पर कैसे जांचें?


14

मेरा सवाल ffmpeg शुरू होने में मेरी समस्या से उत्पन्न होता है। मैंने ffmpeg स्थापित किया है और इसे इंस्टॉल के रूप में प्रदर्शित किया गया है:

whereis ffmpeg 
ffmpeg: /usr/bin/ffmpeg /usr/bin/X11/ffmpeg /usr/share/ffmpeg /usr/share/man/man1/ffmpeg.1.gz

बाद में, मुझे पता चला, कि कुछ प्रोग्राम पुस्तकालयों पर निर्भर करते हैं जो स्वयं इंस्टॉलेशन के साथ नहीं आते हैं, इसलिए मैंने ldd कमांड के साथ जाँच की कि क्या गायब है:

# 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)

जैसा कि यह पता चला है कि मेरा ffmpeg 7 पुस्तकालयों से भी कटा हुआ है। मैंने पहले सोचा था कि उन पुस्तकालयों में से प्रत्येक को स्थापित किया जाना है, लेकिन जितना मुझे पता चला है, कि कुछ या सभी स्थापित हो सकते हैं, लेकिन उनका स्थान अनजान है ffmpeg। मैंने पढ़ा कि /etc/ld.so.conf और /etc/ld.so.cache में पुस्तकालयों के रास्ते हैं, लेकिन मैं उलझन में था, क्योंकि, वहाँ केवल एक ही लाइन थी

/etc/ld.so.conf
 cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf

लेकिन बहुत लंबा है /etc/ld.so.cache

मैं अब एक ऐसे बिंदु पर हूं, जहां मुझे लगता है कि आगे की जांच कैसे की जाए, यह पता लगाने के लिए एक उपयोगी अगला कदम हो सकता है, मैं यह कैसे निर्धारित कर सकता हूं कि यदि दी गई लाइब्रेरी वास्तव में स्थापित है, भले ही उसका स्थान 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:

आपका वितरण / OS क्या है? क्या कुछ कारण है जो आप अपने वितरण से ffmpeg का उपयोग नहीं कर रहे हैं?
फहीम मीठा

मैं लिनक्स मिंट कोडनेम रेबेका का उपयोग करता हूं, ffmpeg मेरे वितरण पर पहले से ही स्थापित नहीं था, जब मैंने इसे "apt-get install ffmpeg" द्वारा स्थापित करने की कोशिश की, तो कोई ffmpeg नहीं था (केवल अन्य प्रोग्राम में कीवर्ड), मैंने एक रिपॉजिटरी जोड़ा जहां इसे शामिल किया गया था और इसे स्थापित किया जा सकता था, लेकिन "ldd / usr / bin / ffmpeg" के बाद मुझे पता चला कि ffmpeg कुछ पुस्तकालयों को याद कर रहा है, मैंने apt-get में अपना नाम लिखकर उन पुस्तकालयों को स्थापित करने का प्रयास किया, लेकिन उन्हें इस तरह नहीं मिला।
अब्दुल अल हज़्रेड

सिर्फ कहने के लिए, ffmpeg स्थापित करने के लिए गधे में एक वास्तविक दर्द हो सकता है। गिट से स्थैतिक अधिष्ठापन का उपयोग करना बेहतर हो सकता है। : यहाँ एक है कि एक प्रकार आत्मा द्वारा बनाया गया था सिर दर्द से आप को बचाने के लिए है johnvansickle.com/ffmpeg
बाज़ीगर

यह मदद करेगा यदि आप हमें बताएंगे कि आपने किस भंडार से इसे स्थापित किया है। :-) इसके अलावा, क्या आप apt-get -f installकृपया अपने प्रश्न का आउटपुट पेस्ट कर सकते हैं ? नोट: ubuntu Ubuntu 14.04 पर आधारित है, इसलिए आप देख सकते हैं कि क्या ffmpeg आपके वितरण में शामिल नहीं है।
फहीम मीठा

मुझे रिपॉजिटरी का नाम याद नहीं आ रहा है, लेकिन यह एक उपनाम के नाम की तरह था जो बेटे में समाप्त होता है, जब मैंने इसे /etc/apt/sources.list/etc/apt/sources.list.d में देखने की कोशिश की थी। /
अब्दुल अल हज़्रेड

जवाबों:


5

उन पुस्तकालयों के लिए / usr / lib और / usr / lib64 में देखें। यदि आप पाते हैं कि लोगों में से एक ffmpeg गायब है, तो इसे सिमिलर करें ताकि यह दूसरी निर्देशिका में मौजूद हो।

आप 'libm.so.6' के लिए एक खोज भी चला सकते हैं और देख सकते हैं कि वह फ़ाइल कहाँ पर है। वहाँ एक अच्छा मौका है ffmpeg उसी निर्देशिका में लापता लोगों के लिए देख रहा है। एक बार जब आप उन्हें ढूंढ लें, तो उन्हें वहां पर साइन इन करें।

यदि वे आपके सर्वर पर मौजूद नहीं हैं, तो उस पैकेज को स्थापित करें जिसमें उन्हें शामिल किया गया है। यदि वे ffmpeg पैकेज में शामिल हैं, लेकिन आप उन्हें नहीं देखते हैं, तो ffmpeg को पुन: स्थापित करने का प्रयास करें।


तो अगर यह / usr / lib या / usr / lib64 में मौजूद नहीं है तो यह निश्चित रूप से 100 प्रतिशत स्थापित नहीं है?
अब्दुल अल हज़्रेड

यदि यह / usr / lib या / usr / lib64 में मौजूद नहीं है, तो इसकी संभावना सबसे अधिक है। ffmpeg की स्थापना बहुत कठिन हो सकती है, ffmpeg को काम करने के लिए जैसा कि लोग उम्मीद करते हैं, आपको अक्सर ffmpeg और कुछ और की आवश्यकता होती है। कभी-कभी कई ses कुछ लम्हें ’। मैं अत्यधिक स्थैतिक निर्माण का उपयोग करने का सुझाव देता हूं जब तक कि आप मैन्युअल इंस्टॉलेशन के माध्यम से पीड़ित नहीं होना चाहते, जो समझ में आता है।
बाजीगर

मुझे नहीं पता कि एक स्थिर निर्माण क्या है ....
अब्दुल अल हज़्रेड

1
स्टैटिक बिल्ड का मतलब है ffmpeg और संबंधित टूल्स को केवल एक डायरेक्टरी से एक साथ काम करने के लिए संकलित किया गया है। जब आप git को अपने सर्वर पर खींचने के लिए उपयोग करते हैं, तो आपके पास उस एक स्थान पर सब कुछ होता है, इसलिए पुस्तकालयों या किसी भी चीज़ का कोई प्रश्न नहीं होता है। यह सब एक 'बॉक्स' में आता है इसलिए बोलने के लिए, आपको केवल अपने निर्देशों को निर्धारित करना है। यह वह स्थान है जहां आप इसके बारे में अधिक पढ़ सकते हैं और इसे पाने के कर सकते हैं: johnvansickle.com/ffmpeg
बाज़ीगर

27

आप उपयोग कर सकते हैं:

ldconfig -p | grep libavfilter

यदि कोई आउटपुट लाइब्रेरी नहीं है, तो स्थापित नहीं है। मुझे यकीन नहीं है कि यह 100% विश्वसनीय है। विकल्प -p के
कम से कम मैन पेज में ldconfig:

वर्तमान कैश में संग्रहीत निर्देशिकाओं और उम्मीदवार पुस्तकालयों की सूची प्रिंट करें।


1

file `which ffmpeg`यह निर्धारित करने के लिए कमांड का उपयोग करें कि क्या ffmpeg64-बिट या 32-बिट के लिए संकलित है। यदि यह 64-बिट है, तो पुस्तकालयों में देखें /usr/lib64। यदि यह 32-बिट है तो पुस्तकालयों में देखें /usr/lib। अगर ffmpegइसे वैधानिक रूप से जोड़ा जाता है तो इससे कोई फर्क नहीं पड़ता ... यह किसी भी साझा लाइब्रेरी का उपयोग नहीं करेगा और आउटपुट fileआपको बताएगा भी।

प्रतीकात्मक रूप से पुस्तकालयों के बीच /usr/libऔर लिंक न करें /usr/lib64। यह आपकी मदद नहीं करेगा क्योंकि 64-बिट प्रोग्राम को 64-बिट लाइब्रेरी (पाया गया /usr/lib64) और 32-बिट प्रोग्राम के लिए 32-बिट लाइब्रेरी (पाया गया /usr/lib32) की आवश्यकता होगी ।

यदि लाइब्रेरी आपके सर्वर पर मौजूद नहीं है, तो उन्हें प्रदान करने वाले पैकेज को स्थापित करें (सुनिश्चित करें कि आप 32-बिट पैकेज चुनते हैं यदि ffmpeg 32-बिट, आदि है)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.