CentOS bit৪ বিট খারাপ ইএলএফ দোভাষী


183

আমি সবেমাত্র CentOS 6 64 বিট সংস্করণ ইনস্টল করেছি, আমি একটি 64-বিট মেশিনে একটি 32-বিট অ্যাপ্লিকেশন ইনস্টল করার চেষ্টা করছি এবং এই ত্রুটি পেয়েছি:

/lib/ld-linux.so.2: খারাপ ELF দোভাষী: এরকম কোনও ফাইল বা ডিরেক্টরি নেই

আমি লিনাক্সে নতুন আমি কীভাবে এটি সমাধান করব?

উত্তর:


354

আপনি একটি 64-বিট সিস্টেমে আছেন এবং 32-বিট লাইব্রেরি সমর্থন ইনস্টল নেই।

32-বিট এক্সিকিউটেবলের জন্য (বেসলাইন) সমর্থন ইনস্টল করতে

(যদি আপনি নীচে আপনার সেটআপের পড়ার নোটে সুডো ব্যবহার না করেন)

ফেডোরা / রেড হ্যাট পরিবারের বেশিরভাগ ডেস্কটপ লিনাক্স সিস্টেম:

 pkcon install glibc.i686

সম্ভবত কিছু ডেস্কটপ দেবিয়ান / উবুন্টু সিস্টেম ?:

pkcon install ia32-libs

ফেডোরা বা নতুন রেড হ্যাট, সেন্টোস:

 sudo dnf install glibc.i686

পুরানো RHEL, সেন্টস:

   sudo yum install glibc.i686

এমনকি পুরানো RHEL, CentOS:

  sudo yum install glibc.i386

দেবিয়ান বা উবুন্টু:

   sudo apt-get install ia32-libs

আপনার প্রয়োজনীয় (প্রথম, প্রধান) লাইব্রেরিটি গ্রহন করা উচিত।

আপনার কাছে একবার এটি হয়ে গেলে আপনার পক্ষে সম্ভবত সাপোর্ট লিব্সের প্রয়োজন হবে

যে কেউ ইনস্টল করার প্রয়োজন হয় glibc.i686বা glibc.i386সম্ভবত অন্য লাইব্রেরি নির্ভরতাগুলির মধ্যে চলে যেতে পারে। একটি স্বেচ্ছাসেবক গ্রন্থাগার সরবরাহ করে এমন একটি প্যাকেজ সনাক্ত করতে, আপনি এটি ব্যবহার করতে পারেন

 ldd /usr/bin/YOURAPPHERE

যদি আপনি নিশ্চিত না হন যে এটি আপনার মধ্যে রয়েছে তবে /usr/binআপনি আবার পিছিয়েও পড়তে পারেন

 ldd $(which YOURAPPNAME)

আউটপুটটি দেখতে এইরকম হবে:

    linux-gate.so.1 =>  (0xf7760000)
    libpthread.so.0 => /lib/libpthread.so.0 (0xf773e000)
    libSM.so.6 => not found

অনুপস্থিত লাইব্রেরিগুলি (যেমন libSM.so.6উপরের আউটপুটটিতে) অনুসন্ধান করুন এবং প্রত্যেকটির জন্য আপনাকে এটি সরবরাহ করে এমন প্যাকেজটি সন্ধান করতে হবে।

প্রতি বিতরণ পরিবারে প্যাকেজ সন্ধান করার আদেশ দেয়

ফেডোরা / রেড হ্যাট এন্টারপ্রাইজ / সেন্টোস:

 dnf provides /usr/lib/libSM.so.6

বা, পুরানো RHEL / CentOS এ:

 yum provides /usr/lib/libSM.so.6

বা, ডেবিয়ান / উবুন্টুতে:

প্রথমে ডাটাবেস ইনস্টল ও ডাউনলোড করুন apt-file

 sudo apt-get install apt-file && apt-file update

তারপরে অনুসন্ধান করুন

 apt-file find libSM.so.6

/usr/lib(সাধারণ) ক্ষেত্রে উপসর্গের পথটি নোট করুন ; খুব কমই, কিছু লাইব্রেরি /lib.তিহাসিক কারণে এখনও বেঁচে থাকে ... সাধারণ 64৪-বিট সিস্টেমে, 32-বিট লাইব্রেরিগুলি থাকে /usr/libএবং 64-বিট লাইব্রেরি থাকে /usr/lib64

(ডেবিয়ান / উবুন্টু বহু-স্থাপত্য গ্রন্থাগারগুলি আলাদাভাবে সংগঠিত করে))

অনুপস্থিত গ্রন্থাগারগুলির জন্য প্যাকেজ ইনস্টল করা

উপরেরটি আপনাকে একটি প্যাকেজের নাম দেওয়া উচিত, যেমন:

libSM-1.2.0-2.fc15.i686 : X.Org X11 SM runtime library
Repo        : fedora
Matched from:
Filename    : /usr/lib/libSM.so.6

এই উদাহরণে প্যাকেজের নাম libSMএবং প্যাকেজের 32bit সংস্করণ নামlibSM.i686

তারপরে pkconআপনি একটি জিইউআইতে প্রয়োজনীয় বা প্রয়োজনীয় sudo dnf/yum/apt-getহিসাবে গ্রন্থাগারটি দখল করার জন্য প্যাকেজটি ইনস্টল করতে পারেন । যেমন pkcon install libSM.i686। প্রয়োজনে আপনি সম্পূর্ণরূপে সংস্করণটি নির্দিষ্ট করতে পারেন। যেমন sudo dnf install ibSM-1.2.0-2.fc15.i686

কিছু লাইব্রেরিতে তাদের নামের আগে একটি "যুগ" ডিজাইনার থাকবে; এটি বাদ দেওয়া যেতে পারে (উত্সাহীরা নীচের নোটগুলি পড়তে পারেন)।

মন্তব্য

সতর্কতা

অজ্ঞাতসারে, আপনি যে সমস্যার মুখোমুখি হচ্ছেন তা বোঝায় যে আপনার আরপিএম (শ্রদ্ধা। ডিপিকেজি / ডিএসলেট) ডাটাবেসটি দূষিত হয়েছে, বা আপনি যে অ্যাপ্লিকেশনটি চালানোর চেষ্টা করছেন সেটি প্যাকেজ ম্যানেজারের মাধ্যমে ইনস্টল করা হয়নি। আপনি যদি লিনাক্সে নতুন হন তবে আপনি সম্ভবত যখনই সম্ভব আপনার প্যাকেজ ম্যানেজার ব্যতীত অন্য উত্স থেকে সফ্টওয়্যার ব্যবহার এড়াতে চান ...

যদি আপনি আপনার সেট আপে "সুডো" ব্যবহার না করেন

আদর্শ

su -c

প্রতিবার আপনি sudoযেমন, দেখুন ,

su -c dnf install glibc.i686

গ্রন্থাগারের নামে যুগের ডিজাইনার সম্পর্কে

নামের আগে "যুগ" ডিজাইনারটি অন্তর্নিহিত RPM গ্রন্থাগারগুলি যেভাবে সংস্করণ সংখ্যাগুলি পরিচালনা করে তার একটি নিদর্শন; যেমন

2:libpng-1.2.46-1.fc16.i686 : A library of functions for manipulating PNG image format files
Repo        : fedora
Matched from:
Filename    : /usr/lib/libpng.so.3

এখানে, 2:বাদ দেওয়া যেতে পারে; শুধু pkcon install libpng.i686বা sudo dnf install libpng-1.2.46-1.fc16.i686। (এটি অস্পষ্টভাবে কিছু বোঝায় যেমন: libpngপ্যাকেজটির সংস্করণ নম্বরটি পিছনের দিকে ঘুরিয়ে দেওয়া হয়েছিল এবং আপডেটের সময় নতুন সংস্করণটিকে "নতুন" বলে বিবেচনা করা হবে তা নিশ্চিত করার জন্য "যুগ" বাড়াতে হয়েছিল। ।)


বিভিন্ন প্যাকেজ পরিচালকের বিকল্পগুলি আরও সম্পূর্ণরূপে স্পষ্ট করতে এবং কভার করার জন্য আপডেট হয়েছে (মার্চ, ২০১))


iv ইনস্টল করা হয়েছে যে এখন libpam.so.0 পেয়ে যাচ্ছি: ভাগ করা অবজেক্ট ফাইলটি খুলতে পারে না
c11ada

7
যদি আপনার অ্যাপ্লিকেশনটি তার প্রয়োজনীয় গ্রন্থাগারগুলি তালিকাভুক্ত না করে, আপনাকে সেগুলি শিকার করে এগুলি ইনস্টল করতে হবে, নিজেই; আপনি যদি ভাগ্যবান হন তবে এগুলি হ্যামের মাধ্যমে পাওয়া যাবে। আপনি লাইব্রেরি তালিকা করতে "ldd (বাইনারি)" ব্যবহার করতে পারেন। তালিকাভুক্ত প্রতিটি লাইব্রেরির জন্য, এটি "/lib/ld-linux.so.2 (0x4f8d9000)" বা "libc.so.6 => /lib/libc.so.6 (0x4f8fa000) এর মতো পাঠ্যক্রম দেয় না ", চেষ্টা করুন: sudo yum * / lib / libWHATEVER.so - প্যাকেজের নাম (গুলি) সন্ধান করার জন্য সরবরাহ করে এবং তারপরে sudo yum ইনস্টল করুন PACKAGE.i686 ইনস্টল করুন। (আপনার সিস্টেমে ডিফল্টরূপে এটি ইনস্টল করা হবে তাই x86_64 নয়, i386 বা i686 কে ধরার বিষয়টি নিশ্চিত করা)
বিআরপোক্ক

আপনার কাছে 32-বিট সফ্টওয়্যার থাকা অবস্থায় এই উত্তরটি গডসেন্ড হয় যা আপনাকে অবশ্যই আপনার 64-বিট সিস্টেমে মাইগ্রেট করতে পারে।
froggythefrog

এটি ফেডোরা 20-এ অরাকলির জের 1.7 ইনস্টল করার জন্য খুব সহায়ক ছিল gl glibc.i686 ছাড়াও, আমাকে libgcc.i686 ইনস্টল করতে হয়েছিল।
জন স্মিট

17

একটি নতুন ইনস্টল করা CentOS 6.4 64-বিট মেশিনে সবেমাত্র একই সমস্যাটি এসেছে। একটি একক yum কমান্ড এই আরও 99% অনুরূপ সমস্যার সমাধান করবে:

yum groupinstall "সামঞ্জস্য লাইব্রেরি"

হয় এটি 'সুডো' দিয়ে উপসর্গ করুন বা রুট হিসাবে চালান, যেটি আপনার জন্য সবচেয়ে ভাল কাজ করে।


14

সাধারণভাবে, আপনি যখন এইরকম কোনও ত্রুটি পান, ঠিক তখনই করুন

yum provides ld-linux.so.2

তারপরে আপনি এমন কিছু দেখতে পাবেন:

glibc-2.20-5.fc21.i686 : The GNU libc libraries
Repo        : fedora
Matched from:
Provides    : ld-linux.so.2

এবং তারপরে আপনি কেবল বিআরপোককের মতো লিখেছেন (আপনি যদি ভাবছিলেন যে যুক্তিটি কী ছিল ...):

yum install glibc.i686

3

চেষ্টা

$ yum provides ld-linux.so.2
$ yum update
$ yum install glibc.i686 libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6

আশা করি এটি পরিষ্কার হয়ে গেছে।


0

কেবল বিআরপোককে একটি মন্তব্য যুক্ত করতে চেয়েছিলাম, তবে আমার পর্যাপ্ত সুযোগ-সুবিধা নেই।

সুতরাং আমার অবদান আইবিএমের ইন্টিগ্রেশন বাস বান্ডেল থেকে আইবিএম ইন্টিগ্রেশন টুলকিট ইনস্টল করার চেষ্টা করা প্রত্যেকের পক্ষে ছিল।

আপনি যখন ফোল্ডার / ইন্টিগ্রেশন_টুলকিট / আইএম_লিনাক্স (চালানোর জন্য ফাইলটি "ইনস্টল" হয়) থেকে "ইনস্টলেশন ম্যানেজার" কমান্ড চালানোর চেষ্টা করবেন আপনি এই পোস্টে ত্রুটিটি দেখিয়েছেন।

এই সমস্যাটি সমাধানের জন্য আরও নির্দেশাবলী আপনি এই আইবিএম এর ওয়েব পৃষ্ঠায় পাবেন: https://www-304.ibm.com/support/docview.wss?uid=swg21459143

আশা করি এটি যে কেউ ইনস্টল করার চেষ্টা করছে তাদের পক্ষে সহায়তা করবে।


0

sudo yum ইনস্টল করুন fontconfig freetype libfreetype.so.6 libfontconfig.so.1 libstdc ++। so.6


0

আমি দেবিয়ানকে যুক্ত করব আপনার সিস্টেমে কমপক্ষে একটি সংকলক প্রয়োজন ( দেবিয়ান স্ট্রেচ এবং জেসি 32-বিট লাইব্রেরি অনুসারে )।

আমি apt-get install -y gcc-multilibডেবিয়ান: জেসি ভিত্তিতে আমার ডকারের ধারকটিতে 32-বিট এক্সিকিউটেবল ফাইল চালানোর জন্য ইনস্টল করেছি।


দয়া করে আপনার উত্তরের লিঙ্কটির প্রয়োজনীয় অংশগুলি অন্তর্ভুক্ত করুন
ইবো

0

পরিবর্তে আপনি ওপেনজেডকে 32-বিট ( .i686) ইনস্টল করতে পারেন । আমার পরীক্ষা অনুযায়ী এটি ইনস্টল করা হবে এবং সমস্যা ছাড়াই কাজ করবে।

sudo yum install java-1.8.0-openjdk.i686

বিঃদ্রঃ:

জাভা 1.8.0-openjdk প্যাকেজ রয়েছে মাত্র জাভা রানটাইম এনভায়রনমেন্ট । আপনি যদি জাভা প্রোগ্রামগুলি বিকাশ করতে চান তবে জাভা-1.8.0-openjdk-devel প্যাকেজটি ইনস্টল করুন ।

দেখুন এখানে আরো বিস্তারিত জানার জন্য।

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