انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: آپدیت و جایگزینی gcc  (دفعات بازدید: 3581 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین majidkamali1370

  • Hero Member
  • *
  • ارسال: 928
  • جنسیت : پسر
آپدیت و جایگزینی gcc
« : 28 بهمن 1391، 11:01 ب‌ظ »
سلام.
عطف به موضوع
http://forum.ubuntu.ir/index.php/topic,56757.msg452077.html#msg452077
بالاخره به دلایل مختلف، راه ppa رو مجبور شدم انتخاب کنم ;D
میخوام برای دوستان مبتدی مثل خودم، آموزش آپدیت gcc و جایگزینی اون به جای نسخه فعلی رو قرار بدم تا به مشکل بر نخورن و با خیال راحت برنامه بنویسن. البته این آموزش برای اوبونتو ورژن 12.04 هست چون اوبونتو 12.10 به صورت پیشفرض، نسخه 4.7 روش نصبه
حالا میریم سراغ آموزش:
قسمت اولش رو که همه بهتر از من بلدید. اول ppa مورد نیاز رو پیدا میکنیم. من برای نرم افزار gcc و ++g نیاز به ppa دارم (البته در این مورد، جفتش یکیه). توی اینترنت (google ، duckduckgo ، launchpad ...) دنبال ppa این نرم افزار میگردم و در نهایت میرسم به لینک زیر:
https://launchpad.net/~ubuntu-toolchain-r/+archive/test
در قسمت وسط صفحه، روی Technical details about this PPA کلیک میکنم تا اون چیزایی که باید توی software sources اضافه کنم رو بهم نشون بده. بعد ورژن اوبونتوم رو هم انتخاب میکنم. مثلا برای 12.04 متنش میشه این:
deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu precise main
deb-src http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu precise main
از update manager از قسمت settings در پایین صفحه یا ubuntu software center از منوی edit و گزینه software sources ، پنجره software sources رو باز میکنم و از سربرگ other software در قسمت پایین دکمه add رو کلیک میکنم و در کادری که باز میشه، هر کدوم از اون خطوط رو وارد میکنم. (برای هر خط باید یکبار این کار رو انجام بدم)

حالا از ترمینال (میانبر = ctrl+alt+t) مینویسم:
sudo apt-get updateو منتظر میشم تا کارش تموم بشه. بعدش توی ترمینال مینویسیم:
sudo apt-get install gcc-4.7اگه مثل من نیاز به ++g هم دارید، بعدش بنویسید:
sudo apt-get install g++-4.7با این دستورات، gcc-4.7 و g++-4.7 رو نصب کردم.

حالا توی ترمینال مینویسم:
gcc -vکه ورژن gcc رو نشونم بده. توی خروجیش، در خط آخر نوشته
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)میبینیم هنوز همونیه که بود. البته از دستور gcc-4.7 میشه gcc ورژن جدیدتر رو استفاده کرد ولی من میخوام این جدیدتره جایگزین قبلی بشه یعنی وقتی مینویسم gcc بفهمه منظورم gcc ورژن 4.7 بوده.

حالا برای اینکه ورژن جدید جایگزین قبلی بشه، دستورات زیر رو وارد میکنم:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7
sudo update-alternatives --config gcc

دستور update-alternatives برای اینه که یه مثلا میانبر (symbolic link) رو تغییر بدیم به چیزی که دوست داریم. (البته پاک کردن و ... هم انجام میده برای اطلاعات بیشتر در ترمینال وارد کنید man update-alternatives ‫)

دستورات اول و دوم اون لینکها رو میشناسونه و دستور سوم برای اینه که بگیم کدوم یکی رو به عنوان پیشفرض استفاده کن:
خروجی دستور سوم:
majid@Majid-PC:~$ sudo update-alternatives --config gcc
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path              Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gcc-4.6   60        auto mode
  1            /usr/bin/gcc-4.6   60        manual mode
  2            /usr/bin/gcc-4.7   40        manual mode

Press enter to keep the current choice[*], or type selection number:
اون علامت * نشوندهنده کامپایلر پیشفرض هست. حالا من اینجا عدد جلوی gcc-4.7 (در اینجا عدد 2) رو وارد میکنیم و ENTER میزنیم و تمام. مینویسه:
update-alternatives: using /usr/bin/gcc-4.7 to provide /usr/bin/gcc (gcc) in manual mode.
حالا وقتی دستور زیر رو بزنیم:
gcc -vخروجیش در خط آخر نوشته:
gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-11precise2)
مبارک باشه !!!  ;D gcc-4.7 با موفقیت نصب شد.

البته هدفم از این آموزش این قسمت آخرش بود و اینکه به راحتی میشه برنامه هایی که در مخازن نیومده رو آپدیت کرد و در صورتی که خط فرمانی هستن، جایگزین قبلی کرد.

موفق باشید.

منبع:
http://askubuntu.com/questions/76885/where-can-i-find-a-g-4-7-package
« آخرین ویرایش: 28 بهمن 1391، 11:57 ب‌ظ توسط majidkamali1370 »
Ubuntu 14.04 LTS 64-bit - unity

آفلاین سلمان م.

  • ناظر انجمن
  • *
  • ارسال: 4106
  • جنسیت : پسر
  • GNU Operating System - سیستم عامل گنو
پاسخ : آپدیت و جایگزینی gcc
« پاسخ #1 : 28 بهمن 1391، 11:30 ب‌ظ »
مرسی از توضیحات خوبت. ولی gcc من روی ۱۲٫۱۰ نسخه‌ی 4.7.2 هست :)
بهتره بگید که این روش برای کسانی هست که از ۱۲٫۰۴ استفاده می‌کنن.

آفلاین majidkamali1370

  • Hero Member
  • *
  • ارسال: 928
  • جنسیت : پسر
پاسخ : آپدیت و جایگزینی gcc
« پاسخ #2 : 28 بهمن 1391، 11:51 ب‌ظ »
بله حق با شماست درستش میکنم. ولی
نقل‌قول
البته هدفم از این آموزش این قسمت آخرش بود و اینکه به راحتی میشه برنامه هایی که در مخازن نیومده رو آپدیت کرد و در صورتی که خط فرمانی هستن، جایگزین قبلی کرد.
بازم ازتون ممنونم.
Ubuntu 14.04 LTS 64-bit - unity