ভেন্টু সিস্টেমে জিসিসি আপগ্রেড করার পরে পুনর্নির্মাণের প্যাকেজগুলি


12

gccকোমল সিস্টেমে আপগ্রেড করার পরে কোন প্যাকেজগুলি পুনর্নির্মাণ করা উচিত ? এটা কি চালানোর জন্য যথেষ্ট?

# emerge -a --oneshot `equery depends gcc |awk '{print " ="$1}'`

এই FAQ এ পার্ল জন্য অনুরূপ প্রস্তাবিত ?

উত্তর:


11

টি এল; ডিআর

জেন্টু ব্যবহারকারী হিসাবে আমার এটির ভিন্ন ধারণা রয়েছে। যদিও আমি peterph এর পদক্ষেপ সাথে একমত আমি অসম্মতি যখন এটি একটি আসে "সিস্টেম স্থির, যাক" ABI- র আপডেট করুন। একটি এবিআই আপডেট কখনও কখনও আচরণের মধ্যে একটি বড় পরিবর্তন হয়। জিসিসি ৪.7-এর ক্ষেত্রে, এবিআই চেঞ্জটি ছিল নতুন সি ++ ১১ স্ট্যান্ডার্ড গ্রহণ করা, যা পিটারফও দেখিয়েছে।

আমি এই উত্তরটি কেন এখানে লিখছি। আমি একটি মানক জাঙ্কি। আমি ওয়েব দুনিয়াতে শুরু করেছি যখন প্রায় 4 টি বিভিন্ন ব্রাউজার ছিল এবং এইচটিএমএলে ট্যাগগুলির আধিক্য যা কেবলমাত্র নির্দিষ্ট ব্রাউজার দ্বারা সমর্থিত ছিল। এই সময়ে, এই সমস্ত ট্যাগগুলি বিভ্রান্তি বাড়িয়ে তুলেছিল এবং আইএমও আরও কঠোর করে তোলে। সি ++ এই একই কারণে মানক করা হয়েছে, সংক্ষেপে যাতে আপনি আমার লেখা কোডটি সংকলন করতে পারেন এবং আপনি যে কোডটি লিখেছেন তা আমি সংকলন করতে পারি । আমরা যদি কোনও মান অনুসরণ না করা বেছে নিই, তবে আমরা ভাগ করে নেওয়ার স্বাধীনতা হারাব।

সি ++ 98 13 বছরের জন্য অনুমোদিত স্ট্যান্ডার্ড হয়েছে। সি ++ 11 কে 2011 সালে আইএসও কমিটি দ্বারা অনুমোদন দেওয়া হয়েছিল এবং পুরোপুরি জিসিসি 4.7 তে সংহত করা হয়েছিল। দেখুন বর্তমান আইএসও অবস্থা , এবং নতুন আইএসও স্ট্যান্ডার্ড


কেন জেন্টু ব্যবহারকারী হিসাবে আমাদের বিশেষাধিকার পাওয়া উচিত

উত্স-ভিত্তিক বিতরণের ব্যবহারকারী হিসাবে, আমাদের কাছে প্যাকেজের ভবিষ্যতের আচরণকে আকৃতির অনন্য সুযোগ রয়েছে কারণ আমরা এটি ব্যবহারের আগে এটি সংকলন করি। সেই হিসাবে, সেই সুযোগের জন্য প্রস্তুত করার জন্য, আমি মনে করি যে নতুন সংকলকটিতে আপডেট করার সময় নিম্নলিখিত কমান্ডগুলি চালিত হওয়া উচিত:

emerge -ev system
gcc-config -l && gcc-config *new compiler name*
env-update && source /etc/profile
emerge -1v libtool
emerge -ev system

সিস্টেমের মাধ্যমে প্রথম পাসটি নতুন সংকলক তৈরি করে এবং এটি নির্ভরতা পুরানো সংকলক সহ। সিস্টেমের মধ্য দিয়ে দ্বিতীয় পাসটি নতুন সংকলকটিকে পুনর্নির্মাণ করে এবং এটি নতুন সংকলকটির সাথে নির্ভরতা। বিশেষত, আমরা এটি করতে চাই যাতে আমাদের বিল্ড চেইন নতুন সংকলকটির নতুন বৈশিষ্ট্যগুলির সুযোগ নেয়, যদি বিল্ড চেইন প্যাকেজগুলিও আপডেট করা হয়েছে ... কিছু লোক সিস্টেমের মধ্য দিয়ে ২ য় পাসের স্থানটি বিশ্ব সেট দিয়ে প্রতিস্থাপন করেছে, যদিও আমি এটি অতিমাত্রার হতে হবে, কারণ আমরা জানি না যে কোন প্যাকেজগুলি ইতিমধ্যে নতুন মানকে সমর্থন করে, তবে আমরা আমাদের বিল্ড চেইনটি বুদ্ধিমান আচরণ করতে চাই।

কমপক্ষে সিস্টেম সেট করতে এটি করা, নতুন মানের তুলনায় আমরা যে প্যাকেজ সংকলন করি তা পরীক্ষা করতে আমাদের প্রস্তুত করে, কারণ আমরা রোলিং রিলিজ ব্যবহার করি। এইভাবে, বিল্ড চেইন আপডেট -std=c++11করার CXXFLAGSপরে যুক্ত করা আমাদের ভাঙ্গার জন্য পরীক্ষা করার অনুমতি দেয় এবং এর সহজ কারণগুলির জন্য আমাদের বাগজিলা বা আপস্ট্রিমের মধ্যে সরাসরি বাগ জমা দিতে সক্ষম হতে পারে:

আরে, আপনার প্যাকেজ ব্লাহ ব্লাহ নতুন সি ++ স্ট্যান্ডার্ড ব্যবহার করে ব্রেক করে এবং আমি আমার বিল্ড লগটি সংযুক্ত করেছি।

আমি এটি বিকাশকারীদের কাছে সৌজন্যরূপে বিবেচনা করি, কারণ স্ট্যান্ডার্ডটি আরও ব্যাপকভাবে গৃহীত হওয়ার সাথে সাথে এখন তাদের প্রস্তুতির সময় হয়েছে এবং পুরানো মানটি পর্যায়ক্রমে চলে গেছে। বিকাশকারীর পক্ষ থেকে কয়েকশ ত্রুটি পাওয়া গেলে তা নিয়ে কল্পনা করুন, কারণ তিনি স্ট্যান্ডার্ডটি শেষ না হওয়া পর্যন্ত অপেক্ষা করেছিলেন ...

আমি জানি যে অন্য কোনও বিতরণ এই পদ্ধতিটি ব্যবহার করতে পারে না কারণ প্যাচ বা আপডেটটি সম্পর্কিত ব্যবহারকারী সম্প্রদায় দ্বারা প্যাচ বা আপডেট ব্যবহারের আগে প্যাডেল বা প্রকৃত প্যাকেজ রক্ষণাবেক্ষণকারীরা মিডলম্যান হিসাবে বিদ্যমান। আমাদের রক্ষণাবেক্ষণকারী রয়েছে তবে স্থানীয় পোর্টেজ গাছ ব্যবহার করার ক্ষমতাও আমাদের রয়েছে।


অনুগ্রহমূলক চিন্তাভাবনা সম্পর্কিত অনুগ্রহ অনুরোধে পোস্ট করা

আমি জানি না যে এই অনুগ্রহটি পোস্ট করা হয়েছিল কারণ আপনারা সবাই আমার অন্তর্দৃষ্টিপূর্ণ, ভালভাবে চিন্তাভাবনা করা উত্তরগুলি পছন্দ করেন তবে অনুগ্রহের চেষ্টা করে আমি আপনার অন্তর্দৃষ্টিপূর্ণ, সুচিন্তিত অনুদানের অফারটির উত্তর দেওয়ার চেষ্টা করব। প্রথমে, আমি প্রতিক্রিয়াতে বলি যে উত্স ভিত্তিক বিতরণের ব্যবহারকারী হিসাবে, আমি দৃ firm়ভাবে বিশ্বাস করি যে বিন্দুগুলি যা সংযোগ দেয় তা হ'ল আপনার অনুগ্রহের অনুরোধে আপনি যা চেয়েছিলেন সেগুলি are কেউ একজন দুর্দান্ত কোডার হতে পারে তবে সফ্টওয়্যারটির কৃপণ যত্ন নিতে পারে। একইভাবে, এমন কিছু লোক রয়েছে যারা ক্রেপি কোডার যাঁদের সফ্টওয়্যারটির জন্য দুর্দান্ত যত্ন।

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

স্ট্যান্ডার্ডটি আরও একটি কারণে রয়েছে: একটি সম্প্রদায়ের ক্ষেত্রে এর সদস্যদের কাছ থেকে কিছু নির্দিষ্ট নিয়ম আশা করা হয় । এখানে যে বিবৃতি অনুসরণ করুন। যদি আমি কোনও ফিক্স, প্যাচ, বর্ধন ইত্যাদি জমা দিই এবং কোনও মান না থাকে তবে প্যাচটি কেবল সেই পরিস্থিতিতেই কাজ করবে যা আমি গুরুত্বপূর্ণ বলে মনে করি, অর্থাত্ যদি আমি হুইসবাং সংকলক ২.০ ব্যবহার করি এবং প্যাচটি হুইসবাং সংকলক ১.০ এর বিপরীতে নির্মিত হয় তবে এটি ব্যর্থ হবে. প্রচেষ্টা যেহেতু একটি সম্প্রদায়ের জন্য, সম্প্রদায়টি বেশিরভাগ পরিস্থিতিতে সবকিছু কাজ করার প্রত্যাশা করে, তাই সমস্ত ব্যবহারকারীকে সংকলক 2 এ আপগ্রেড করার পরিবর্তে, আমি একটি স্ট্যান্ডার্ডে শর্ত করতে পারি:

এই প্যাকেজটি হুইসবাং কম্পাইলার 1.0 এর সাথে পিছনের সামঞ্জস্যের অনুমতি দেয়

এইভাবে, একজন বিকাশকারী হিসাবে, ক্রেপি কোডার বা না হিসাবে, আমি জানি যে আমাকে অবশ্যই কমপ্লায়ার সংস্করণ 1.0 এর বিপরীতে ব্যবহার করতে হবে বা কমপক্ষে পরীক্ষা করতে হবে। অন্যদিকে একজন ব্যবহারকারী হিসাবে আমি যা করতে চাই তা চয়ন করতে পারি। যদি আমি অসন্তুষ্ট হন তবে আমি একটি বাগ জমা দেওয়ার মাধ্যমে, বা "এই সফ্টওয়্যারটি একটি ক্র্যাম্পের টুকরো!" এর অন্য চূড়ান্ত অনুরোধ করে কোনও প্যাচ অনুরোধ করতে পারি এবং কিছুই করি না। নির্বিশেষে, ব্যবহারকারী এবং বিকাশকারী স্ট্যান্ডার্ডটি বোঝেন কারণ এটি লেখা হয়েছে।

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


এই বিষয় সম্পর্কিত অন্যান্য আকর্ষণীয় পড়া

  1. সি ++ 11 (এবং আপনার কেন যত্ন নেওয়া উচিত) এর বৃহত্তম পরিবর্তনসমূহ
  2. সি ++ 0x / সি ++ 11 জিসিসিতে সমর্থন
  3. স্ট্যান্ডার্ড সি ++ সম্পর্কিত সংবাদ, স্থিতি এবং আলোচনা

আমি তখন
ওয়ার্ডিং

3

আপনি কী ধরনের সংকলক আপগ্রেড করেছেন তার উপর এটি অনেকটা নির্ভর করে। যদি এটি যথেষ্ট হয়ে থাকে তবে কম্পাইলার দ্বারা এবিআইয়ের সম্ভাব্য পরিবর্তনের কারণে সমস্ত কিছু পুনরায় সংযুক্ত করা উচিত *) । অনেক ক্ষেত্রে এটি প্রয়োজনীয় হবে না, তবে আপনার প্যাকেজগুলি যদি সি ++ 11 এর মতো কোনও কিছুর উপর নির্ভর করে তবে আপনি সমস্যার মধ্যে পড়তে পারেন - উদাহরণস্বরূপ জিসিসি 4.7 বা জিসিসি বাগজিলায় এবিআই পরিবর্তনের জেন্টু সংবাদ দেখুন ।

*) "পুনরায় সংযুক্ত" - এর উপর জোর নোট করুন - এটি অবশ্যই একটি পাইথন বা পার্ল অ্যাপ্লিকেশনটি পুনরায় সংকলন করতে (পুনর্নির্মাণের পুনর্নির্মাণ) খুব বেশি অর্থবোধ করে না কারণ আপনি একটি সি সংকলক পরিবর্তন করেছেন। যদি না এর কোনও স্থানীয় উপাদান থাকে (তবে এটি ভালভাবেই পারে)।

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