توجه بسیار مهم: نصب gcc بر اساس این آموزش ممکنه موجب بعضی اشکالات بشه. خود gnu توصیه میکنه gcc رو تو یه دایرکتوری کاملا جدا نصب کنیم تا بشه راحت هم پاکش کرد. بعدا مفصل تر راجع به این قضیه صحبت میکنم.
من رو لپتاپم اوبونتو ۱۱.۰۴ دارم. خیلی هم ابزار و خنزر پنزر روش دارم. حال آپدیت هم ندارم. از طرف دیگه میخوام که از ورژن ۴.۷ جی سی سی استفاده کنم. بنا به عادت اولین کار تو مخازن محترم دنبالش گشتم و نیافتم. بعدش تو ppa ها. اما متاسفانه برای نگارش اوبونتوی من جی سی سی رو نداشتن. (یه سوال همینجا بپرسم: مگه نگارشای مختلف اوبونتو چقد با هم فرق میکنن که یه بسته واسه ۱۱.۱۰ هست ولی واسه ۱۱.۰۴ نیست؟)
نتیجه اخلاقی شماره یک:
نباید بیش از حد به بستههای توزیعی که استفاده میکنم متکی باشم.
راه حل؟ کامپایل دستی:
۱- از اینجا آخرین ورژن کامپایلر محترم رو گرفتم.
۲- بعد از باز کردن آرشیو و ورود به دایرکتوری مربوطه، تو خط فرمان زدم:
[bash light=”true”]
./configure
[/bash]
اما این خطا رو داد:
configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
اول چک کردم دیدم بستههای اینایی که میگه نصبن. بعد خود خطا رو گوگل کردم ولی چیز به درد بخوری پیدا نکردم. آخر خود خطا رو که خوندم دیدم گفته اگه این بستهها رو روی توزیعتون دارین، اما سورسش رو ندارین، سورسش رو هم نصب کنین. منم رفتم و از تو سیناپتک سورسشون رو نصب کردم. (تو مخازن اوبونتو، سورس بستهها معمولا با یه -dev در انتهاشون مشخص میشن)
و این دفعه با اجرای
[bash light=”true”]
./configure
[/bash]
فایل make ساخته شد.
نتیجه اخلاقی شماره دو:
گوگل یه موتور جستجوی خیلی عالیه، اما قرار نیست جای من فکر کنه.
۳- همونجا زدم:
[bash light=”true”]
make
[/bash]
و شروع کرد به کامپایل دوست عزیز. کار کامپایل زیاد طول میکشه واسه همین من هم تو این فاصله تیکه اول پست تا اینجا رو نوشتم. الانم میخوام برم ناهار. اوپس: اما باز یه اشکال پیش اومد:
/usr/include/linux/errno.h:4:23: fatal error: asm/errno.h: No such file or directory
compilation terminated.
ایندفعه با گوگل جواب پیدا میشه: باید gcc-multilib رو نصب کنم. بعد از نصب فرمان make رو اجرا میکنم. و این دفعه واقعا میرم ناهار…. از نهار برگشتم. اما هنوز کامپایل تموم نشده….
هاه. بالاخره تموم شد. حدود یک ساعت و پنجاه دقیقه طول کشید.
۴- خوب مرحله آخره. تو این مرحله هرچی کامپایل شده رو میریزیم سر جاهاش. واسه اینکه احتمال میدم برای کپی کردن فایلها تو بعضی دایرکتوریها مجوز روت بخواد با سودو اجراش میکنم:
[bash light=”true”]
sudo make install
[/bash]
… و تمام. الان نسخه ۴.۷ جی سی سی رو دستگاهم نصبه. کافیه امتحانش کنم:
[bash light=”true”]
gcc –version
[/bash]
نتیجه اخلاقی شماره سه:
از نصب برنامهها از سورس نباید ترسید.