GLIBCXX_3.4.20 পাওয়া গেল না, এই ত্রুটিটি কীভাবে ঠিক করবেন?


104

আমি উবুন্টু 14.04.1 এ প্রোগ্রামটি লেআউট এডিটর ( এই সাইটে উপলব্ধ ) চালানোর চেষ্টা করি 64৪-বিট এলটিএস আমি টার্মিনালে নিম্নলিখিত আউটপুটটি পাই:

$ layout
layout: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by layout)

আমি কমান্ড চেষ্টা stringsউপর /usr/lib/x86_64-linux-gnu/libstdc++.so.6নিম্নলিখিত এবং এখানে ইনপুট এবং আউটপুট হল:

$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH

আমি কীভাবে এই সমস্যাটি সমাধান করতে পারি আমি একরকম অনুমান করি যে এটির সাথে সম্পর্কিত GCCতবে সমস্যাটি কীভাবে সমাধান করা যায় তা নির্ধারণ করতে পারি না। তদুপরি, আমি উবুন্টুতে সর্বশেষ জিসিসি কীভাবে ব্যবহার করব তার পরামর্শ অনুসারে একটি পিপিএ চেষ্টা করেছি? এবং জিবিআইবিএক্সএক্সএক্স_3.4.15 এ উবুন্টুর পুরানো সংস্করণটির জন্য অনুরূপ প্রশ্ন রয়েছে । যাইহোক, আমি দৌড়ানোর পরে আমি sudo updateঅনেক সতর্কতা পেয়েছি এবং স্ট্রিং কমান্ডের সাথে আমি যে তালিকাটি পেয়েছি সেগুলি ইনস্টল করার পরে নতুন এন্ট্রি নেই gcc 4.9, তাই আমি পিপিএ ( সরঞ্জামচেইন টেস্ট বিল্ডস ) দিয়ে সাফ করেছি ppa-purge। কোনও সহায়তা, কীভাবে এগিয়ে যেতে হবে সে সম্পর্কে পরামর্শগুলি প্রশংসিত হয়।


ইতিমধ্যে একটি সমাধান খুঁজে পেয়েছেন?
স্টিভেন রুজ

1
@ স্টিভেনরুজ আমি কিছু ব্যাকপোর্ট যুক্ত করার পরে এবং কিছু সফ্টওয়্যার ইনস্টল করার পরেও সমস্যার সমাধান করতে সক্ষম হয়েছি কিন্তু আমি যখন সেগুলি মনে করি তখন আমি তার বিবরণ পরিষ্কারভাবে মনে করি না আমি তাদের উত্তর হিসাবে পোস্ট করব।
ভেসনগ

দেখে মনে হচ্ছে এটি প্রতীক লিঙ্কিংয়ের একটি প্রভাব: stackoverflow.com/questions/2856438/… আপনি কেবল সাম্প্রতিক পর্যায়ে কোনও লাইব্রেরি সংস্করণে লিঙ্ক করছেন না।
সিরো সান্তিলি 新疆 改造 中心 法轮功 六四

উত্তর:


102

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

মূলত, নিম্নলিখিত কমান্ডগুলি কেবল করুন: প্রথমে ইনস্টল করুন:

sudo apt-get install libstdc++6

এটি ইতিমধ্যে ডিফল্ট হিসাবে ইনস্টল করা উচিত, তবে যাইহোক এটি চেষ্টা করুন। যদি এটি সমাধান না করে তবে কেবল নিম্নলিখিতটি করুন:

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

আমি "ডিস্ট-আপগ্রেড" কমান্ডটি সম্পাদন করিনি, তবে আমার পক্ষে এটি সমাধান করার আগে একটি


6
sudo apt-get ডিস-আপগ্রেড আমার সমস্যার সমাধান করেছে
Ady

2
প্রস্তাবিত dist-upgradeহিসাবে প্রয়োজন ছাড়াই সমস্যা সমাধান করা upgradeহয়েছে এবং সর্বশেষের সাথে আমার সিস্টেম আপডেট করেছেlibstdc++
অ্যারেনোন

2
সংগ্রহস্থল সংযোজন, 'আপডেট' এবং একটি 'ডিস্ট-আপগ্রেড' সবই আমার শেষ প্রান্তে প্রয়োজন ছিল।
ভার্চুয়ালপেটস

5
আপডেটের পরে আপনি জিলিবিবিএক্সএক্সএক্সের সর্বশেষ সংস্করণটি চেক করতে পারেনstrings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
কৃষ্ণ কুমার

1
উবুন্টু 16.04: নভেম্বর মাসে, 2017 সালে 'অবিশ্বস্ত, এবং অসমর্থিত' পিপিএ যুক্ত করুন: উবুন্টু-টুলচেন-আর / পরীক্ষা অ্যাড -এর মাধ্যমে apt-repositoryআপডেট /usr/lib/x86_64-linux-gnu/libstdc++.so.6করা হয়েছে এবং জিলিবিএক্সএক্সএক্সএক্স_৪.২৪ সহ অন্তর্ভুক্ত রয়েছে - এবং এর সাথে এই আপডেটগুলি মূলত সমস্ত সি / সি ++ / ফোর্ট্রান আপনার মেশিনে বিকাশের সরঞ্জামগুলি
16'8

60

এটি আমার সাথে অ্যানাকোন্ডা 4.0.০.০ (যেমন @ এমজেপি বলেছে) দিয়ে হয়েছিল, তবে আমার পক্ষে এই সিদ্ধান্তটি ছিল আমার পরিবেশে এই আদেশটি চালানো:

conda install libgcc

6
অন্যান্য থ্রেড থেকে বহু সমাধান চেষ্টা করার পরে এটি আমার জন্য এটি সমাধান করেছে।
শন অ্যান্ডারসন

3
পাশাপাশি উবুন্টু 16.04 এ কাজ করে
fviktor

1
এই সত্যিই আমার বাট কয়েকবার সংরক্ষণ!
এমবিজেড

উবুন্টু 16.04 - এটি আমার জন্য সমাধান করুন।
ঝুবার্ব

এটি অনেক ভাল .. আমার জন্য কাজ করেছে .. পাইথনে 'রুট' আমদানির চেষ্টা করছিল
মাইক্রোফডি

11

আমার এই সমস্যাটি ছিল - এটি কারণ Anaconda2যে জিনিসটি যাই হোক না কেন তার GLIBCXX.4.4.20 সংস্করণ ছিল না। শুধুমাত্র .19 পর্যন্ত, আপনার মতই।

তবে উবুন্টুর লাইব্রেরিতে এটি ছিল । সুতরাং আমি স্রেফ অ্যানাকোন্ডা লাইব্রেরিতে সেই GLIBCXX_3.4.20 সম্বলিত প্রকৃত লিনাক্স লাইব্রেরিতে একটি সফটলিঙ্ক / শর্টকাট তৈরি করেছি, আগেরটি প্রতিস্থাপন করেছি এবং পাইথন জিইউআই (স্পাইডার) পুনরায় চালু করার পরে এটি দুর্দান্ত কাজ করেছে।

সেখানে একটি ফোল্ডার বলা উচিত libstdc++.so.6Anaconda দ্বারা লাইব্রেরিতে, যা এখানে: ~/anaconda2/lib। এই ফোল্ডারের মধ্যে স্ক্রিপ্ট / গ্রন্থাগার-কোড-জিনিসের সংস্করণ রয়েছে, যেটি আপনি মিস করছেন তা বাদ দিয়ে: GLIBCXX_3.4.20

সমস্যাটি সমাধান করতে এই পদক্ষেপগুলি অনুসরণ করুন:

  1. সঠিক জায়গায় যান এবং আপনার বর্তমান শর্টকাটটিকে ব্যাকআপ দিনanaconda2 (এর নামটি পরিবর্তন করুন যাতে এটি ওভাররাইট করা হয় না):

    cd ~/anaconda2/lib
    mv -vf libstdc++.so.6 libstdc++.so.6.old
    
  2. lnকমান্ডটি ব্যবহার করে একটি নতুন শর্টকাট তৈরি করুন (আমি ধরে নিচ্ছি যে আমি পূর্ববর্তী স্থানে রয়েছি ~ / anaconda2 / lib):

    ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ./libstdc++.so.6
    
  3. আপনার ব্যবহার করা স্পাইডার / অন্যান্য ইন্টারফেস পুনরায় চালু করুন

এটা এখন কাজ করা উচিত!


আমার জন্য এটি কেবল কনডোর নতুন নামকরণই যথেষ্ট ছিল। সুতরাং, পরে এটি কোনও লিঙ্কের প্রয়োজন ছাড়াই ওএস সংস্করণটি খুঁজে পেয়েছিল
মিংগুই স্যামুয়েল

7

আমি CentOS এ (তবে GLIBCXX_3.4.21) এর মতো সমস্যার সমাধান করেছি তবে এটি ওএস থেকে নির্ভর করে না। লাইব্রেরিটি জিসিসি সংকলকের অংশ তাই জিসিসির উপযুক্ত সংস্করণ ইনস্টল বা সংকলন করা দরকার। এটি জিসিসির সংস্করণ এবং উপযুক্ত libstdc ++ এর সংস্করণগুলির সারণী:

GCC 4.9.0: libstdc++.so.6.0.20
GCC 5.1.0: libstdc++.so.6.0.21
GCC 6.1.0: libstdc++.so.6.0.22
GCC 7.1.0: libstdc++.so.6.0.23
GCC 7.2.0: libstdc++.so.6.0.24
GCC 8.0.0: libstdc++.so.6.0.25

(সংস্করণগুলির সম্পূর্ণ তালিকা এখানে রয়েছে )

এটি কীভাবে জিসিসি ইনস্টল করবেন তার উপর নির্ভরশীল নয় - এটি প্যাকেজ থেকে ইনস্টল করা হতে পারে বা উত্স থেকে সংকলিত এবং ইনস্টল করা যেতে পারে।

সিস্টেম জিসিসি লাইব্রেরিগুলি নতুন ইনস্টল করার পরিবর্তে উপলব্ধ is সুতরাং এনভায়রনমেন্ট ভেরিয়েবল নির্দিষ্ট করা দরকার যেখানে উদাহরণস্বরূপ কমান্ড লাইনে লাইব্রেরিগুলি পাওয়া যায়:

$ LD_LIBRARY_PATH=/usr/local/lib64 command args ...

আমি লিংক আপডেট করার মাধ্যমে স্থায়ীভাবে এই সংশোধন করা হয়েছে /usr/lib64/libstdc++.so.6নতুন সংস্করণ আমি ছিল দিকে নির্দেশ /usr/local/lib64/libstdc++.so.6এই কমান্ড সঙ্গে ln -fs /usr/local/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6। পুরানো সংস্করণটি কোনও লিঙ্কের দিকে ইশারা না করেই রয়ে গেছে তবে আপনার যদি ফেরতের প্রয়োজন হয়। একটি হ্যাক একটি বিট কিন্তু এটি কাজ করে।
ম্যাথু

2

বহু বছরের বিভিন্ন সময় বিভিন্ন প্যাকেজ সহ আমি বহুবার করেছি। এটি সর্বদা এর দ্বারা সমাধান করা হয়েছে:

sudo apt-get dist-upgrade

যদি আপনার ডিস্ট আপগ্রেডযোগ্য হয় তবে এটি প্রায় সর্বদা একটি নতুন সি ++ লাইব্রেরি নামিয়ে আনবে এবং তারা আবার কাজ করে এমন জিনিসগুলিকে পুনরায় কনফিগার করবে। আপনার সিস্টেমটি সঠিক লাইব্রেরিতে নির্দেশ না করার কারণে সমস্যাটি প্রায়শই দেখা দেয় always আমার ক্ষেত্রে সাধারণত একটি লাইব্রেরির ক্রস সংকলক সংস্করণে ইশারা করে caused


2

before_install:

# এসএএসএস সমর্থন সহ "বর্ধিত" হুগো চালানোর সময় libstdc ++ ত্রুটিগুলি এড়াতে এই কার্যকারিতাটির প্রয়োজন।

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

ইনস্টল:

  • wget -q -O hugo.deb https://github.com/gohugoio/hugo/releases/download/v0.46/hugo_extended_0.46_Linux_64bit.deb
  • sudo dpkg -i hugo.deb

আমি এই সমাধান এখানে পেয়েছি


1
sudo cp /usr/bin/YourGccVersionLibrary/lib64/libstdc++.so.6 /usr/bin/YourGccVersionLibrary/lib64/libstdc++.so.6.0.20 /usr/lib/x86_64_linux-gnu/

5
উবুন্টুকে জিজ্ঞাসা করুন স্বাগতম! আমি এই আদেশটি সম্পাদনা করার পরামর্শ দিচ্ছি যে এই আদেশটি কী অর্জন করবে তার নির্দিষ্ট বিশদ সহ এটি প্রসারিত করতে expand (আরও দেখুন কীভাবে আমি একটি ভাল উত্তর লিখব? জিজ্ঞাসা উবুন্টুকে কী ধরণের উত্তর সবচেয়ে মূল্যবান বলে মনে করা হয় সে সম্পর্কে সাধারণ পরামর্শের জন্য)
ডেভিড ফোস্টার

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