apt: স্থানান্তর ত্রুটি: GLIBCXX_3.4.21 সংস্করণটি libstdc ++ ফাইলে সংজ্ঞায়িত করা হয়নি, সুতরাং লিঙ্কের সময় রেফারেন্স সহ


63

16.04 জেনিয়াল আপগ্রেড করার চেষ্টা করার পরে, আমি পাচ্ছি

$ apt
apt: relocation error: /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0: 
symbol _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_, 
version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference

যখন সহজভাবে চলমান apt। এটি বলার অপেক্ষা রাখে না যে এটি কিছু করা কঠিন করে তোলে।

কোন ইঙ্গিত?


বাহ ... এটি আমাকে উবুন্টু / ক্যানোনিকালের আপগ্রেড প্রক্রিয়াটিকে সত্যই অবিশ্বাস করে। প্রতিবার যখন আমি একটি কার্যকরী তবে বাসি সংস্করণ পেয়েছি তখন সহায়তা ফোরামের কেউ আমাকে বলেছে আপগ্রেডগুলি আমার সমস্ত সমস্যার সমাধান করবে ... "স্ক্র্যাচ ডিস্ক" কী তা আমি জানি না এবং অবশ্যই GRUBডিবাগিংয়ের সাথে কাজে বাধা দিতে চাই না …
isomorphismes

উত্তর:


55

উবুন্টু টুলচেনের জন্য পিপিএ সংক্রান্ত সমস্যাগুলির কারণে আমার একই সমস্যা হয়েছিল। আমার কম্পিউটার এটি কারণে বুট হবে না। তার উত্তরে @ w00kie এর মন্তব্য পর আমি (TTY টার্মিনাল থেকে) ডাউনলোড করা প্যাকেজের ডেবিয়ান libstdc++6জন্য Xenialলিঙ্ক-এ https://packages.ubuntu.com/xenial/libstdc++6 এবং ব্যবহার করে ইনস্টল করা dpkg -i। কম্পিউটার এখন ঠিকঠাক কাজ করে।

ধাপ

wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb
sudo dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb

# I also found this helpful
sudo apt-get -f install

5
আপনি দয়া করে আপনার উত্তরে পদক্ষেপে আদেশগুলি রাখতে পারেন? আমি এর সাথে মোটেও পরিচিত নই এবং আমার লিনাক্স মেশিনটি হরক হয়ে গেছে ...
জ্যাকারি ফিল্ডস

@ জাচারি আপনার সঠিক সমস্যাটি কী? আপনি কি বুট করতে পারবেন?
সাগর ঝা

1
আসলে তা না. যদি আমি এটি প্রায় 15 মিনিটের জন্য স্ক্রিনের ফ্লিকারগুলিতে যেতে দিই তবে আমি খুব হালকা ধূসর বর্ণের একটি টিটি 2 টার্মিনাল প্রম্পট পাই। আমি apt(বা কোনও সরঞ্জাম সত্যই) ব্যবহার করতে অক্ষম । আমি এমনকি ডাউনলোড করতে চেষ্টা করেছি libstdc++6...debএকটি বুটেবল USB ড্রাইভ থেকে ম্যানুয়ালি প্যাকেজ স্থাপন, ভাঙা সিস্টেমের মধ্যে পুনরায় বুট করুন এবং ইনস্টল .debব্যবহার sudo dpkg -i libstdc++6...deb, কিন্তু এটা এমনকি জানে না কী dpkgহয়।
জাকারি ক্ষেত্রগুলি

13
.Deb ফাইলটি ডাউনলোড / ইনস্টল করতে, আপনি এটি করতে পারেন: wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.debএবং তারপরে একবার ডাউনলোড হয়ে গেলে, dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.2_amd64.deb(64৪-বিট সিস্টেম ধরে নেওয়া হয়)। আমার জন্য, আমার ইন্টারনেট সংযোগটি কাজ করছে না, তাই আমি এটি একটি আলাদা কম্পিউটার থেকে একটি ইউএসবি ড্রাইভে ডাউনলোড করেছিলাম, তারপরে নিজেই আমার সমস্যাযুক্ত কম্পিউটারে ইউএসবি ড্রাইভটি মাউন্ট করতে হয়েছিল ( sudo mount /dev/sdc1 /media/usbযেখানে sdc1ইউএসবিতে প্লাগ ইন করার পরে টার্মিনাল আউটপুট দেখে ঠিক পাওয়া গেছে) এবং তারপরে উপরের dpkgকমান্ডটি চালান ।
গ্যারেট

7
dpkg --force-all -i libstdc+‌​+6_5.4.0-6ubuntu1~16‌​.04.2_amd64.debএটি ইনস্টল করার জন্য আমাকে ব্যবহার করতে হয়েছিল
ভার্চুয়ালপেটস

26

অভিযুক্ত ব্যক্তি বাম থেকে ওভারে হয় উবুন্টু টুলচেইন আপলোডের জন্য পিপিএ (সীমাবদ্ধ) , নির্দিষ্টভাবে

/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22

এটির সাথে মোকাবিলা করার দুটি সম্ভাবনা রয়েছে:

  • আপনি ইতিমধ্যে ppa-purgeইনস্টল করা আছে। তারপর

    sudo ppa-purge ppa:ubuntu-toolchain-r/test
    

    সমস্যাগুলি স্থির করে।

  • জেনিয়ালের জন্য libstdc ++ 6 ডাউনলোড করে এটির মাধ্যমে ইনস্টল করে libstc ++ ওভাররাইড করুন dpkg -i


4
কমপক্ষে আমার জন্য, এটি প্রশ্নের
উত্তরটির

1
সম্ভবত নীচের থেকে উত্তরগুলি দিয়ে প্রসারিত করা উচিত, কারণ স্পষ্টতই ppa-purgeকাজ করবে না (একই অজগর)
ব্যবহারকারী 64204

1
আমি পেয়েছি:sudo: ppa-purge: command not found
গ্যারেট

@ গ্যারেটsudo apt install ppa-purge
নিকো

3
@ নিকোস্ক্ল্যামার, ধন্যবাদ, তবে আসলে আমি বিশ্বাস করি যে আমারও aptকাজ হচ্ছে না (মূল পোস্ট অনুসারে)।
গ্যারেট

8

এই ত্রুটির কারণে আমার কমপটি সঠিকভাবে বুট করতে ব্যর্থ হয়েছিল। অ্যাপটি-গেট কাজ করছিল না, জ্নোমও ছিল না। এটি তাত্ক্ষণিকভাবে 14.04 থেকে 16.04 এ আপগ্রেড হওয়ার পরে। আমি প্রবেশ করে এটি tty মধ্যে সমাধান

sudo apt-add-repository --remove ppa:ubuntu-toolchain-r/test

এই মুহুর্তে apt-getআবার কাজ শুরু হয়েছিল এবং আমি সেখান থেকে সমস্ত বিষয় ঠিক করতে সক্ষম হয়েছি:

sudo apt-get clean
sudo apt-get update
sudo apt-get install -f
sudo dpkg -a --configure
sudo apt-get dist-upgrade

আমাকে ভার্চুয়ালবক্সও আনইনস্টল করতে হয়েছিল (আপডেট কমান্ডের পরে) এবং এটি পরে পুনরায় ইনস্টল করতে হয়েছিল তবে আমি মনে করি এটি সম্পর্কিত নয়।


2
আমি এই চেষ্টা করেছিলেন কিন্তু প্যাকেজ apt_pkg উপর একটি আমদানি ত্রুটি পেয়েছিলাম
Mixone

মিক্সোন, সঠিক ত্রুটিটি কোনটি এবং ঠিক কোন আদেশে ছিল?
মাতাজাজ

sudo apt-get update ত্রুটিটি পাইথন ব্যাকএন্ড থেকে আমার ধারণা হয়েছিল, স্ট্যাকট্রেসটি অজগর ছিল এবং এটি মূলত বলেছিল মডিউলটি apt_pkg খুঁজে পাবে না
মিক্সোন

5
আমার জন্যও একই সমস্যা, apt-add-repositoryআপনার উত্তরে কমান্ডটি ব্যবহার করার ImportError: /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0: symbol _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_, version GLIBCXX_3.4.21 not defined in the file libstdc++.so.6 with link time reference
গ্যারেট

আমার মতো বোকা লোকেরা রিলিজের 2 বছর পরে আপগ্রেড করার চেষ্টা করছে এবং সমস্ত বাগ ঠিক হয়ে গেছে ভেবে thinking উপরের মন্তব্যে লিংকটি নষ্ট হয়ে গেছে। এখানে একটি নতুন। http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb(বা i386উভয়) এবং dpkg আপনাকে অভিশাপ দিতে আপত্তি করবেন না। কি --auto--deconfigureএবং আপনার apt-getত্রুটি বার্তা সত্ত্বেও পরে ট্র্যাক উপর ফিরে আসবে। এবং আপনি সঠিক -f --install+ --upgradeএবং একটি নতুন সিস্টেমে রিবুট শেষ করতে সক্ষম হবেন ।
ইউফোস

4

আমি ভাবছিলাম যে সমস্যাটি আমার কাছে কিছু অনন্য এবং এটি ডাউনলোডের ত্রুটির কারণে হয়েছিল।

এই আলোচনা আমাকে আমার প্রয়োজনীয় ক্লু দিয়েছে। মূলত, যা প্রয়োজন ছিল তা হল libstdc ++। So.6.0.22 কে libstdc ++ এর সাথে প্রতিস্থাপন করা। so.6.0.21 in / usr / lib / x86_64-linux-gnu in ব্যর্থ সিস্টেম। (এটি মনে হয় নতুন সংস্করণে একটি ত্রুটি রয়েছে))

এটি একটি থাম্ব-ড্রাইভ বা আমার ক্ষেত্রে যেমন স্ক্র্যাচ ডিস্ক থেকে করা যায়।

সম্পূর্ণ বিবরণ এখানে: https://answers.launchpad.net/ubuntu/+Qtion/395832

সবাইকে ধন্যবাদ...


আমি এই কৌশলটি ব্যবহার করেছি, তবে কিছু অতিরিক্ত জায়গায় ডুয়াল বুট করেছি। আমি সহজেই মূল পার্টিশনটি মাউন্ট করতে সক্ষম হয়েছি। এটা বেশ সহজ ছিল।
অ্যান্ড্রু

দুর্দান্ত - এই 3 টি কমান্ড আমার পক্ষে কাজ করেছে: সিডি / ইউএসআর / লিবিব / x86_64-লিনাক্স-গ্নু / >>> সুডো আরএম লিবিস্টডিসি ++। So >> >>> sudo ln -s libstdc++ so.6.0.21 লিবিস্টডিসি ++ .6
ওসমান

3

dpkg -iগৃহীত উত্তরের পদ্ধতির অনুসরণ করে , আমার 14.04-> 16.04 আপগ্রেডের জন্য একটি নয়, দুটি প্যাকেজ দরকার:

gcc-5-base_5.4.0-6ubuntu1~16.04.4_i386.deb
libstdc++6_5.4.0-6ubuntu1~16.04.4_i386.deb

এর পরে, apt upgradeবাকী প্যাকেজগুলি ডাউনলোড করতে এবং ইনস্টলেশনটি সম্পূর্ণ করতে সক্ষম হয়েছিল।


2

ইয়াক্কেটিতে স্নাপ্পির সাথে ইনস্টল করা 'কনজুরি-আপ' স্নাপের সর্বশেষতম সংস্করণ যদি থাকে তবে আপনার অ্যাপ্লিকেশনটি খুব অনুরূপ ত্রুটির সাথে ভেঙে যাবে:

apt: relocation error: /usr/lib/x86_64-linux-gnu/libapt-private.so.0.0: symbol _ZN13pkgSourceList16AddVolatileFilesER11CommandLinePSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EE, version APTPKG_5.0 not defined in file libapt-pkg.so.5.0 with link time reference

এই বাগের কারণে:

https://bugs.launchpad.net/snappy/+bug/1a677417

বর্তমানে আমার জানা একমাত্র কাজটি হ'ল কনজুয়ার-আপ স্ন্যাপটি মুছে ফেলা (অথবা সম্ভবত আপনার কোনও ইনস্টল থাকা থাকলে সম্ভবত এটি পূর্ববর্তী সংস্করণে 'স্ন্যাপ রিভার্ট')।


1

আমার জন্য ঠিক করা কাজটি হ'ল প্রকৃতপক্ষে উবুন্টু সরঞ্জামচেন পিপিএ যুক্ত করা:

sudo apt-add-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install -f
sudo apt-get upgrade

0

আপনার টাইপ করে এটি ঠিক করতে সক্ষম হওয়া উচিত:

sudo apt-get -f ইনস্টল করুন

কোনও প্যাকেজ নির্দিষ্ট না করে। এটি কাজ করা উচিত।


0

আই 386 সিস্টেমগুলির সাথে খুব অনুরূপ সমস্যা হতে পারে।

সমস্যা সমাধানের জন্য, আমাকে সংস্করণ থেকে জিসিসি -5-বেসও ডাউনগ্রেড 5.4.1-2ubuntu1~12.04করতে হয়েছিল 5.4.0-6ubuntu1~16.04.4

একটি যুক্তিসঙ্গত-দৃশ্যমান সিস্টেমে আপগ্রেডটি সম্পূর্ণ dpkg --purge on vituoso_nepomukকরতে, তাদের কনফিগারেশন ফাইলগুলি থেকে মুক্তি পাওয়ার জন্য আমাকে এবং ভার্চুয়ালবক্সও ব্যবহার করতে হয়েছিল, যা সমস্যা সৃষ্টি করছিল (আমার জন্য, ভার্চুয়ালবক্স প্যাকেজ ভার্চুয়ালবক্স -5.1 দ্বারা সরবরাহ করা হয়েছে, যা আপগ্রেড থেকে সজ্জিত বলে মনে হচ্ছে না। )

চাবি ছিল dpkg --configure dbusকাজ পেতে ।

টাইটি-টাইপ স্ক্রিনে থাকাকালীন উইজেট সক্ষম করতে, sudo dhclient eth0তারযুক্ত ইথারনেট সংযোগ সক্ষম করতে ব্যবহারকারীদের চালানোও হতে পারে ।


0

লিনাক্সে উবুন্টু বিতরণ আপগ্রেড করার সময় আমি এই সমস্যাটি দেখেছি:

# ls /usr/lib/x86_64-linux-gnu/libstdc++.so.6*
libstdc++.so.6 -> libstdc++.so.6cd*
libstdc++.so.6.0.20*
libstdc++.so.6.0.21
libstdc++.so.6cd -> libstdc++.so.6.0.20*

libstdc ++। so.6 -> libstdc ++। so.6cd -> libstdc ++। so.6.0.20

তবে দুটি ফাইল ছিল: libstdc ++। So.6.0.21 এবং libstdc ++। So.6.0.20

আমি প্রতীকী লিঙ্কটি সর্বশেষ সংস্করণে libstdc ++ এ নির্দেশ করেছি changed..0.০.২১

cd /usr/lib/x86_64-linux-gnu
rm libstdc++.so.6cd
chmod +x libstdc++.so.6.0.21
ln -s  libstdc++.so.6.0.21 libstdc++.so.6cd

হয়:

libstdc++.so.6 -> libstdc++.so.6cd*
libstdc++.so.6.0.20*
libstdc++.so.6.0.21*
libstdc++.so.6cd -> libstdc++.so.6.0.21*

এবং সবকিছু স্বাভাবিক অবস্থায় ফিরে এসেছিল


0
  1. উবুন্টু প্যাকেজ ম্যানেজার ওয়েবসাইট থেকে আপনার উবুন্টুর জন্য libstdc ++ 6 ডাউনলোড করুন। ( uname -ah / w এবং s / w আর্কিটেকচার সন্ধান করতে ব্যবহার করুন) find

  2. চালান

    sudo dpkg --install --auto-deconfigure libstdc++6...deb
    
  3. পুনরায় বুট করুন। উবুন্টু বুট করা উচিত তবে অ্যাপ্লিকেশন নতুন প্যাকেজ ইনস্টল করতে পারে না।

  4. নির্ভরতা ঠিক করতে এবং সিস্টেমকে টু ডেট আপ করতে এই কমান্ডগুলি চালান

    sudo apt-add-repository ppa:ubuntu-toolchain-r/test
    sudo apt-get update
    sudo apt-get install -f
    sudo apt-get upgrade
    sudo apt-get dist-upgrade
    sudo apt-get autoclean && sudo apt-get autoremove  
    
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.