نوشتهشده به وسیلهی: مجید در: اکتبر 13, 2009
یکی از مشکلاتی که معمولا کاربران تازهکار در گنو/لینوکس با اون مواجه هستند ، کامپایل کردن برنامه ها هست.
کاری که در ابتدا خیلی مشکل به نظر میرسه اما احتمالا میتونین با این چند تا کار مشکلات ساده ای رو که براتون پیش میاد ، حل کنین !!!
به طور کلی نیاز به کامپایل خیلی کم ممکنه پیش بیاد ، مثلا امکان داره برنامه ای تازه منتشر شده باشه و هنوز بسته های اون برای توزیع های مختلف آماده نشده باشه.
کامپایل شیوه های مختلفی داره که خودتون باید برین یاد بگیرین !!!
cmake , automake ,…
تمام بستههای سورس هم داخلشون یک فایل README یا INSTALL دارن که روش کامپایل کردن اون برنامه رو بهتون میگه که معمولا از چند دستور ساده تشکیل شده.
اما مهم وقتی هست که توی کامپایل کردن با error مواجه میشین!
پیشنیاز :
اولین مشکل اصولا نصب نبودن بسته های پیش فرض برای کامپایل هست ،
error: stdio.h: No such file or directory
شما باید حتما این نرم افزارها رو نصب کنید تا بتونین کامپایل کنین.
sudo aptitude install build-essential
خب حالا باید منتظر خطاهای عجیب تر بشیم !
پیدا نشدن بسته :
Could not find REQUIRED package Plasma
خب این خطا ساده به نظر میاد ، بسته plasma پیدا نشد، و حالا شما در اولین تلاش باید سعی کنین تا بسته ای به نام plasma رو نصب کنین، اما ممکنه به شما بگه که همچین بسته ای در مخازن لینوکس شما وجود نداره ! در این صورت شما باید اسم این بسته رو توی منابع خودتون جستجو کنین . این طوری احتمالا بسته ای با نامی مشابه پیدا میکنین که باید همون رو نصب کنین ! مثلا libplasma-dev !
aptitude search <pkgname>
پیدا نشدن فایل :
و حالا سخت ترین قسمت کار یا شاید هم عجیب ترین قسمت !
اگه به این خطا دقت کنین نوشته فایل FindKDE4Internal.cmake پیدا نشده.
CMake Error: ERROR: cmake/modules/FindKDE4Internal.cmake not found in /home/user/.kde4/share/apps;/usr/lib/kde4/share/kde4/apps
برای اینکه بدونین چه بسته ای رو باید نصب کنین که این فایل رو داشته باشه باید برنامه apt-file رو نصب کنین (البته این برنامه نیاز داره تا یکسری منابع رو از اینترنت بارگذاری کنه).
sudo aptitude install apt-file
و حالا
apt-file search <filename>
که اسم فایل رو بجای اون قرار میدیم و در نتیجه به ما میگه
kdelibs5-dev: /usr/lib/kde4/share/kde4/apps/cmake/modules/FindKDE4Internal.cmake
که میفهمیم باید بسته ای به نام kdelibs5-dev رو نصب کنین !
و اما یک کار جالب تر !
با این برنامه دیگه حتی نیاز نیست بعد از گرفتن خطا ، به دنبال نصب بسته مورد نظر برین !
auto-apt run command
که به جای command ، باید اسم برنامه ای رو بنویسین که قراره اجرا بشه و ممکنه به یکسری برنامه هایی که موجود نباشن نیاز داشته باشه.
auto-apt run ./configure
البته بعضی وقت ها هم به خطاهایی برمیخوریم که !!!!
=-=-=-=-=
Powered by Bilbo Blogger
[...] از کامپایل کردن نترسیم ! « MGroup a few seconds ago from Gwibber [...]
[...] از کامپایل کردن نترسیم ! « MGroup a few seconds ago from IdentiFox [...]
اکتبر 15, 2009 در 10:48 ب.ظ
با سلام
ممنون مطلب مفیدی بود.
اگر این روشهای cmake و qmake و automake رو هم یاد بدی خیلی خوب میشه یا حداقل منبعی برای آشنایی باهاش معرفی کنی .
یا علی