একটি ভাগ করা লাইব্রেরি ইনস্টল করা আছে কিনা তা কীভাবে পরীক্ষা করবেন?


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:

আপনার বিতরণ / ওএস কি? আপনার বিতরণ থেকে আপনি ffmpeg ব্যবহার করছেন না এমন কোনও কারণ আছে?
ফাহিম মিঠা

আমি লিনাক্স পুদিনা কোডনাম রেবেকা ব্যবহার করি, আমার ডিস্ট্রিবিউশনে ffmpeg ইতিমধ্যে ইনস্টল করা হয়নি, যখন আমি এটি "এপটি-গেইন ইনস্টল ffmpeg" দ্বারা ইনস্টল করার চেষ্টা করেছি তখন ffmpeg ছিল না (অন্য প্রোগ্রামগুলিতে কেবল কীওয়ার্ড), আমি একটি সংগ্রহস্থল যুক্ত করেছি যেখানে এটি অন্তর্ভুক্ত ছিল এবং এটি ইনস্টল করতে পারে, তবে "ldd / usr / bin / ffmpeg" পরে আমি আবিষ্কার করেছি যে ffmpeg কিছু লাইব্রেরি অনুপস্থিত ছিল, আমি অ্যাপ্লিকেশনগুলিতে তাদের নামগুলি এপ-গেটে টাইপ করে ইনস্টল করার চেষ্টা করেছি তবে সেগুলি এইভাবে পাওয়া যায়নি।
আব্দুল আল হাজরেড

শুধু বলছি, ffmpeg ইনস্টল করার জন্য গাধা একটি বাস্তব ব্যথা হতে পারে। গিট থেকে স্ট্যাটিক ইনস্টল ব্যবহার করা ভাল। আপনাকে মাথাব্যথার হাত থেকে বাঁচাতে সদা
বাজিগর

আপনি কোন ভান্ডারটি ইনস্টল করেছেন তা যদি আপনি আমাদের জানান তবে এটি সহায়তা করবে। :-) এছাড়াও, আপনি কি apt-get -f installআপনার প্রশ্নের আউটপুট আটকান করতে পারেন , দয়া করে? দ্রষ্টব্য: উবুন্টু উবুন্টু 14.04 ভিত্তিক, সুতরাং ffmpeg আপনার বিতরণে অন্তর্ভুক্ত না করা হলে আপনি সেখানে দেখতে পারেন।
ফাহিম মিঠা

আমি সংগ্রহস্থলের নামটি মনে করতে পারি না, তবে এটি একটি ছেলের নামের মতো ছিল যা ছেলের মধ্যে শেষ হয়, যখন আমি এটি /etc/apt/source.list /etc/apt/source.list.d এ সন্ধান করার চেষ্টা করেছি /
আবদুল আল হাজরেড 21

উত্তর:


5

এই লাইব্রেরির জন্য / usr / lib এবং / usr / lib64 দেখুন। যদি আপনি ffmpeg অনুপস্থিতগুলির মধ্যে একটি অনুপস্থিত খুঁজে পান, তবে এটি অন্য কোনও ডিরেক্টরিতে উপস্থিত থাকলে এটি সিমিলিং করুন।

আপনি 'libm.so.6' এর জন্য একটি অনুসন্ধানও চালাতে পারেন এবং সেই ফাইলটি কোথায় রয়েছে তা দেখতে পারেন। একটি ভাল সুযোগ আছে ffmpeg নিখোঁজদের জন্য একই ডিরেক্টরিতে সন্ধান করছে। একবারে তাদের খুঁজে পেলে সেগুলিকে এখানে সিমিলিংক করুন।

যদি সেগুলি আপনার সার্ভারে বিদ্যমান না থাকে তবে প্যাকেজটি ইনস্টল করুন যা এতে অন্তর্ভুক্ত রয়েছে। সেগুলি যদি ffmpeg প্যাকেজে অন্তর্ভুক্ত করা হয় তবে আপনি সেগুলি দেখতে না পান, ffmpeg পুনরায় ইনস্টল করার চেষ্টা করুন।


সুতরাং এটি যদি / usr / lib বা / usr / lib64 তে বিদ্যমান না থাকে তবে এটি অবশ্যই 100 শতাংশ ইনস্টলড নয়?
আবদুল আল হাজরেড 21

এটি যদি / usr / lib বা / usr / lib64 এর মধ্যে না থাকে তবে এটি সম্ভবত ইনস্টল করা নেই। ffmpeg ইনস্টলেশন খুব কঠিন হতে পারে, ffmpeg মানুষের প্রত্যাশার মতো কাজ করার জন্য আপনার প্রায়শই ffmpeg এবং অন্য কিছু প্রয়োজন হয়। কখনও কখনও 'কিছু এলিজ'। আপনি ম্যানুয়াল ইনস্টলেশনের মাধ্যমে ভোগ করতে পছন্দ না করেই স্থিতিশীল বিল্ডটি ব্যবহার করার পরামর্শ দিচ্ছি যা বোধগম্য।
বাজিগর 21

স্ট্যাটিক বিল্ড কী তা আমি জানি না ....
আব্দুল আল হাজরেড

1
স্ট্যাটিক বিল্ড মানে ffmpeg এবং সম্পর্কিত সরঞ্জামগুলি কেবলমাত্র একটি ডিরেক্টরি থেকে একসাথে সমস্ত কাজের জন্য সংকলিত হয়েছে। এটিকে আপনার সার্ভারে টানতে আপনি যখন গিট ব্যবহার করেন, আপনার কাছে সেই এক জায়গায় সমস্ত কিছু থাকে যাতে গ্রন্থাগার বা কোনও কিছুরই প্রশ্ন আসে না। এটি একটি 'বাক্সে' আসে তাই কথা বলার জন্য, আপনাকে যা করতে হবে তা হ'ল এটি নির্দেশ করার জন্য আপনার নির্দেশিকা নির্ধারণ করা। এখানে আপনি এটি সম্পর্কে আরও পড়তে পারেন এবং এটি পেতে পারেন: jhnvansickle.com/ffmpeg
বাজিগর

27

তুমি ব্যবহার করতে পার:

ldconfig -p | grep libavfilter

যদি কোনও আউটপুট লাইব্রেরি ইনস্টল করা হয় না। এটি 100% নির্ভরযোগ্য কিনা তা আমি নিশ্চিত নই। অপশন-পি
এর ldconfigজন্য ম্যান পেজে কমপক্ষে :

বর্তমান ক্যাশে সঞ্চিত ডিরেক্টরি এবং প্রার্থী গ্রন্থাগারগুলির তালিকা মুদ্রণ করুন।


1

64-বিট বা 32-বিটের জন্য সংকলিত file `which ffmpeg`কিনা তা নির্ধারণ করতে কমান্ডটি ব্যবহার করুন ffmpeg। যদি এটি -৪-বিট হয় তবে গ্রন্থাগারগুলি সন্ধান করুন /usr/lib64। যদি এটি 32-বিট হয় তবে গ্রন্থাগারগুলি সন্ধান করুন /usr/lib। যদি ffmpegস্থিতিযুক্তভাবে সংযুক্ত থাকে তবে তাতে কিছু আসে যায় না ... এটি কোনও ভাগ করা লাইব্রেরি ব্যবহার করবে না এবং আউটপুট আপনাকে এটিও fileবলবে।

প্রতীকীভাবে /usr/libএবং এর মধ্যে লাইব্রেরিগুলি লিঙ্ক করবেন না /usr/lib64। এটি আপনাকে সাহায্য করবে না কারণ একটি -৪-বিট প্রোগ্রামের জন্য -৪-বিট লাইব্রেরি প্রয়োজন (পাওয়া গেছে /usr/lib64) এবং একটি 32-বিট প্রোগ্রামের জন্য 32-বিট লাইব্রেরি প্রয়োজন (খুঁজে পাওয়া গেছে /usr/lib32)।

লাইব্রেরিগুলি যদি আপনার সার্ভারে বিদ্যমান না থাকে তবে তাদের সরবরাহ করে এমন প্যাকেজটি ইনস্টল করুন (নিশ্চিত করুন যে আপনি যদি 32-বিট প্যাকেজটি ffmpeg 32-বিট ইত্যাদি পছন্দ করেন)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.