"Libstdc ++। So.6: ভাগ করা অবজেক্ট ফাইল খুলতে পারে না: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই"


10

আমি এই প্রশ্নের তথ্য অনুযায়ী প্রোগ্রামের সাথে wrstled । এখন এটি ইনস্টল করা আছে তবে কীভাবে এটি চালানো যায় তা আমি বুঝতে পারি না। উবুন্টুর একই সংস্করণটি চালানো কোনও বন্ধুটিকে একইভাবে ইনস্টল করার পরে এটি শুরু করতে কোনও সমস্যা হয়নি।

আমি এই কাজটি করেছি:

$ ./Psychonauts
./Psychonauts: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

সুতরাং আমি এগিয়ে গিয়েছিলাম এবং:

$ sudo apt-get install libstdc++.so.6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libstdc++.so.6
E: Couldn't find any package by regex 'libstdc++.so.6'

এটি লক্ষ করা উচিত যে আমি কিছুদিন আগে লিনাক্স ব্যবহার শুরু করেছি।

ঠিক আছে, তাই আমি অ্যাপ্লিকেশন এবং অ্যাপ্লিকেশন আপডেট ইনস্টল করতে পরিচালনা করেছি।

তবে আমরা অন্য একটি ছিনতাই আঘাত।

usagiyojimbo@Usagi:~$ sudo apt-file find libstdc++.so.6
[sudo] password for usagiyojimbo: 
E: The cache is empty. You need to run 'apt-file update' first.

আমি এটি করেছি, যখন আমি এটি করি:

File is up-to-date.
Ignoring source without Contents File:
a link they won't let me post

অথবা

File is up-to-date.
Downloading Index a link
No Index available.
Downloading complete file a link

সাইকোনাটস চালানোর চেষ্টা করার সময় আমি এখনও একই ত্রুটি পাচ্ছি।


1
sudo apt-get install libstdc++6
3ventic

উত্তর:


20

আপনি ত্রুটি বার্তা পান:

E: Unable to locate package libstdc++.so.6
E: Couldn't find any package by regex 'libstdc++.so.6'

কারণ আপনি libstdc++.so.6এমন কোনও ফাইল ইনস্টল করার চেষ্টা করেছিলেন যা আপনি ইনস্টল করতে পারবেন না, কারণ এটি একটি ডেবিয়ান প্যাকেজে অবস্থিত।

আপনি apt-fileযে প্যাকেজটিতে এই ফাইলটি অন্তর্ভুক্ত করেছেন তা সন্ধান করতে ব্যবহার করতে পারেন । এটি ইনস্টল করতে, টাইপ করুন:

sudo apt-get install apt-file

তারপরে আপনাকে সূচকটি আপডেট করতে হবে।

sudo apt-file update

এর পরে, আপনি যে প্যাকেজটি ফাইলটি সন্ধান করতে পারেন libstdc++.so.6:

sudo apt-file find libstdc++.so.6

তারপরে আপনি অনেকগুলি প্যাকেজ পাবেন যাতে অনুসন্ধান করা ফাইল রয়েছে। আপনার ক্ষেত্রে, সঠিক প্যাকেজটি হ'ল libstdc++6:

libstdc++6: /usr/lib/x86_64-linux-gnu/libstdc++.so.6

তারপরে আপনি প্রয়োজনীয় প্যাকেজটি ইনস্টল করতে পারেন:

sudo apt-get install libstdc++6

ঠিক আছে, তাই আমি অ্যাপ্লিকেশন এবং অ্যাপ্লিকেশন আপডেট ইনস্টল করতে পরিচালনা করেছি। তবে আমরা অন্য একটি ছিনতাই আঘাত। usagiyojimbo @ Usagi: do $ sudo apt-file find libstdc ++। so.6 [sudo] usagiyojimbo এর জন্য পাসওয়ার্ড: E: ক্যাশেটি খালি আছে। আপনাকে প্রথমে 'অ্যাপ্ট-ফাইল আপডেট' চালাতে হবে।
UsagiYojimbo

চালান sudo apt-file updateএবং তার পরে sudo apt-file find libstdc++.so.6। ঠিক উপরের উত্তর পড়ুন।
বুজড-ডিইই

2
আমি কী আলাদাভাবে করেছি তা নিশ্চিত নয়, তবে এটি এটিপ-ফাইল সন্ধান করে। আমি প্যাকেজ তালিকা পেতে। যখন আমি এটি ইনস্টল করার চেষ্টা করি তখন বলে যে libstdc ++ 6 ইতিমধ্যে নতুন সংস্করণ। যখন আমি। / মনোবিজ্ঞানগুলি চেষ্টা করি তখনও এটি বলে না যে এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই।
UsagiYojimbo

এবং যদি আপনি 32-বিট হার্ডওয়ারের সাথে ঘোরাঘুরি করেন তবে শেষে অবশ্যই তা নিশ্চিত করে নিন: sudo apt-get libstdc ++ 6: i386 ইনস্টল করুন
এজেকিয়েল ক্রাগলিক


3

আপনি প্রায় সেখানেই রয়েছেন, আপনার প্রয়োজনের তুলনায় আরও কয়েকটি অক্ষর ব্যবহার করেছেন:

sudo apt-get install libstdc++6

... কৌতুক করা উচিত।


0

আমার জন্য যেভাবে কাজ করেছে আমি তা আপনাদের সাথে শেয়ার করব। সবার আগে আপনার এই ফাইলটির অন্য কোনও অনুলিপি আপনার মেশিনে ইতিমধ্যে রয়েছে কিনা তা খুঁজে পাওয়া উচিত:

$ locate libstdc++.so.6

আউটপুট:

/snap/core/6405/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/snap/core/6405/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
/snap/core/6405/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21-gdb.py
/snap/core/6531/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/snap/core/6531/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
/snap/core/6531/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21-gdb.py
/snap/core/6673/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/snap/core/6673/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
/snap/core/6673/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21-gdb.py
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25-gdb.py

আপনি দেখতে পাচ্ছেন যে /snap/core/...এই ফাইলটির অনেকগুলি সংস্করণ রয়েছে। (যদি না এই পদ্ধতিটি আপনার পক্ষে কাজ করে না)

আপনার বিদ্যমান ফাইলটি থেকে একটি ব্যাকআপ নেওয়া উচিত:

$ sudo mv /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.backup

তারপরে আপনি সর্বশেষ স্ন্যাপ সংস্করণটিকে দূষিত ফাইলটিতে প্রতিস্থাপন করতে পারেন:

sudo cp /snap/core/6673/usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/x86_64-linux-gnu/libstdc++.so.6

চেষ্টা করুন পুনরায় কাঙ্ক্ষিত কমান্ড চলমান।

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