PDA

View Full Version : سوال: نحوه کامپایل سورس برنامه ها



ztx1111
یک شنبه 13 بهمن 1387, 23:18 عصر
دوستان من تو نصب برنامه های لینوکس از روی سورس مشکل دارم و تا حالا موفق نشدم یه برنامه رو از روی سورسش نصب کنم.
از دوستان در خواست دارم یه راهنمایی کامل به بنده بدن.
پی دی اف و معرفی سایت را هم می پذیریم !!!! :لبخند:
ممنون می شم.

ilius.gnu
دوشنبه 14 بهمن 1387, 10:13 صبح
دوستان من تو نصب برنامه های لینوکس از روی سورس مشکل دارم و تا حالا موفق نشدم یه برنامه رو از روی سورسش نصب کنم.
از دوستان در خواست دارم یه راهنمایی کامل به بنده بدن.
پی دی اف و معرفی سایت را هم می پذیریم !!!! :لبخند:
ممنون می شم.
معمولا به اون صورت هست که پکیج سورس رو extract میکنید(از حالت فشردگی خارج میکنید) تا تبدیل به یه پوشه بشه، بعد توی ترمینال به اون پوشه cd میکنید(تغییر مسی میدید) بعد مینویسید:

./configureتا اسکریپت(و نه دستور) configure رو اجرا کنه، و dependecy ها رو چک کنه و مقدمات کامپایل رو فراهم کنه. اگه ارور داد که مثلا فلان پکیج لازم هست و باید نصب بشه، شما باید نصبش کنید، هم خود اون پکیج(باینریش) هم سورس اون پکیج رو. مثلا اگه گفت gtk-2.0 نصب نیست شما اگه از اوبونتو استفاده میکنید باید gtk-2.0 و gtk2.0-dev رو چک کنید که نصب باشن(مثلا از توی Synaptic) اگه نصب نبودن(احتمال داره خودش نصب باشه سورسش نصب نباشه) پکیج deb شون که مخصوص همون ورژن اوبونتو هست رو دانلود کنید(مثلا از packages.ubuntu.com) و نصب کنید.
بعد مرحله configure رو دوباره انجام بدید. وقتی این مرحله با موفقیت(بدون هیچ اروری) تموم شد، نوبت به کامپایل میرسه:

makeاگه این مرحله هم با موفقیت تموم بشه دیگه تقریبا تمومه. یعنی سورس کامپایل شده و فایلهای باینری(از جمله فایل اجرایی اصلی برنامه) در همون پوشه قرار گرفته و میتونید برنامه رو اجرا کنید. اما اگه میخواید نصب هم بشه که همه کابران بتونن استفاده کنن، با حساب root بنویسید:

make installحالا دیگه نصب شده و میتونید اون پوشه ی سورس رو پاک کنید. اگه برنامه گرافیکی احتمالا آیکونش توی منوها اومده باشه(اگه نیومده توی گتوم بنویسید killall gnome-panel)
اما به هر حال میتونید با اجرای دستورش توی خط فرمان اجراش کنید. اسم دستور هر برنامه معمولا اسم همون برنامه هست(فقط ممکنه به ندرت خلاصه شده باشه اگه چند کلمه ای باشه بیشون - میاد). در ضمن اسم دستور هم اسم همون فایل اجرایی هست که بعد از کامپایل توی پوشه ی سورس قرار گرفت.
امیدوارم خوب متوجه شده باشید.

ztx1111
دوشنبه 14 بهمن 1387, 11:16 صبح
بسیار عالی بود ممنونم ازت.
خیلی خوب و ساده توضیح دادید متشکرم.
الان می رم تو لینکس امتحان می کنم اگه مشکلی بود دوباره میپورسم.
بازم ممنون

reza10203045
یک شنبه 20 اردیبهشت 1388, 12:52 عصر
سلام دوستان
استفاده می کنم ولی موقع استفاده از دستور kubuntu 9.4 من از
./config or ./configue
این خطا رو میده میشه در این مورد راهنمایی کنید

reza@ubuntu:~/blender$ ./configue
bash: ./configue: No such file or directory

Mehdi Asgari
یک شنبه 20 اردیبهشت 1388, 13:32 عصر
لینوکس به کوچکی و بزرگی حروف حساسه

reza10203045
یک شنبه 20 اردیبهشت 1388, 20:03 عصر
دوست عزیز میشه شکل صحیح دستور رو بیان کنید .

حامد مصافی
یک شنبه 20 اردیبهشت 1388, 21:03 عصر
ممکن است یک بسته نصب اسکریپت configure نداشته باشد. در این صورت باید اطمینان حاصل کنید بسته مزبور دقیقاً برای توزیع شما تولید شده است. اگر چنین بود مستقیماً به مرحله make سپس make install بروید.

ilius.gnu
دوشنبه 21 اردیبهشت 1388, 05:13 صبح
سلام دوستان
استفاده می کنم ولی موقع استفاده از دستور kubuntu 9.4 من از
./config or ./configue
این خطا رو میده میشه در این مورد راهنمایی کنید

reza@ubuntu:~/blender$ ./configue
bash: ./configue: No such file or directory

ای وای ببخشید بجای configure نوشتم configue (حرف r جا افتاد) !!!
ولی شما هم باید اشتباهم رو متوجه می‌شدید. چون اون configure اسم یه فایل هست. اگه به محتویات اون پوشه نگاه می‌کردید اسم فایل رو می‌دید. حتی نیازی به نگاه کردن به محتویات دایرکتوری نبود. با تایپ چند حرف اولش(مثلاً confi) و دوبار زدن کلید Tab خودش براتون کامل می‌کرد(یا اگه چند تا باشه همش رو می‌نویسه) چون شل bash قابلیت auto complete رو داره(با کلید تب).
به هر حال معذرت می‌خوام. پست رو اصلاح کردم.

Sundown
دوشنبه 21 اردیبهشت 1388, 21:28 عصر
البته این مطلب را هم فراموش نکنید که ابتدا باید با دستور cd وارد پوشه مورد نظر بشید و بعد دستورات را اجرا کنید.
بهتر است برای نصب برنامه از سورس حتما فایل install.txt و readme.txt هر بسته را مطالعه کنید. چون ممکن هست لازم باشد یک سری پارامتر در هنگام نصب اضافه کنید.

موفق باشید

reza10203045
چهارشنبه 23 اردیبهشت 1388, 11:30 صبح
ممنون از راهنمایی های شما دوستان عزیز مشکلی که الان من دارم اونم اینکه دستور makeکار نمیکنه میشه دلیل کار نرکدن اینو بیان کنید

حامد مصافی
چهارشنبه 23 اردیبهشت 1388, 11:43 صبح
چه خطایی دریافت می کنید؟

reza10203045
چهارشنبه 23 اردیبهشت 1388, 12:09 عصر
دوست عزیز من وقتی دستور make را اجرا می کنم هیچ کاری را انجام نمیده

حامد مصافی
چهارشنبه 23 اردیبهشت 1388, 12:30 عصر
وقتی خطایی دریافت نمی کنید یعنی اینکه بسته autoconf در سیستم شما نصب است. اما مسئله نداشتن خروجی ممکن است به دستورات MakeFile بسته شما ربط داشته باشد، با سورس دیگری آزمایش کنید.

Sundown
پنج شنبه 24 اردیبهشت 1388, 11:43 صبح
قرار نیست تغییر چندانی داده بشه ( تغییری که بشه دید ) بعد از اجرای این دستور make install رو اجرا و برنامه نصب میشه

ilius.gnu
جمعه 25 اردیبهشت 1388, 06:51 صبح
دوست عزیز من وقتی دستور make را اجرا می کنم هیچ کاری را انجام نمیده تا نگید چه اروری میده که نمی‌تونیم کمک کنیم. همون اروری که چاپ میکنه، بالاخره یه چیزی چاپ میکنه دیگه!
اول مطمئن بشید که دایرکتوری جاری همون دایرکتوری سورس هست. بعدش اگه مشکل پیش‌نیازها هست(مثلاً میگه فلان پکیج پیدا نشد) شما باید دانلود کنید(یا از مخازن محلی) نصب کنید، کار دیگه‌ای نمیشه کرد. بازم تاکید می‌کنم به متن ارورش دقت کنید(آخرای اون متن طولانی که چاپ میکنه). مثلاً اگه گفت پکیج folan نصب نیست، شما باید پکیجی به اسم folan-dev یا libfolan-dev رو نصب کنید(توی سیناپتیک یا package.ubuntu.com یا گوگل سرچ کنید)

در کل به نظر من طرف نصب نرم‌افزار از روی سورس نرید، یعنی هنوز خیلی زوده. نصب نرم‌افزار از روی سورس روش خوبی برای کاربران تازه‌وارد نیست. مشکلات زیادی ممکنه پیدا کنن. بزرگترین مشکلش هم همین پیشن‌نیازها هست. وقتی می‌خواید یه پیکج رو از روی سورس نصب کنید، باید تمام پیش‌نیازهاش به علاوهٔ سورس‌شون نصب بشه، وگرنه کامپایل نمیشه. این گاهی‌وقت‌ها کار نصب رو خیلی سخت میکنه. اکیداً توصیه می‌کنم از پکیج‌های باینری مخصوصاً پکیج‌های deb (یا rpm) استفاده کنید و ترجیهاً از پکیج‌های مخازن رسمی توزیع خودتون(مثلاً اوبونتو). اگه اینترنت پرسرعت دارید که بدید به سیناپتیک خودش دانلود و نصب کنه. اگه هم اینترنت پرسرعت ندارید از مخازن محلی(مثل dvd هما، یا اون تا dvd مخازن ابونونتو) استفاده کنید برای نصب نرم‌افزارهای مورد نیازتون. البته تو ایران «اینترنت پرسرعت» معنای چندانی نداره(به 256 کیلوبیت بر ثانیه که نمیشه گفت پرسرعت!! اگه دو سه مگ باشه یه چیزی) پس بازم اون 6 تا dvd به نظر من بهترین راه هست.

reza10203045
جمعه 25 اردیبهشت 1388, 11:13 صبح
دوستان عزیز از پاسخ های شما ممنون هستم.
من وقتی دستور makeرو اجرا میکنم این پیغام رو میده

reza@ubuntu:~/codeblocks-8.02$ make
make: *** No targets specified and no makefile found. Stop.

و وقتی که دستورmake install رو میزنم این پیغام رو میده


reza@ubuntu:~/codeblocks-8.02$ make install
make: *** No rule to make target `install'. Stop.


البته در اجرای دستور ./configure مشکلی نداره

حامد مصافی
جمعه 25 اردیبهشت 1388, 11:37 صبح
دوست عزیز بهتر بود این پیغام رو قبلاً ذکر می کردید!!!

بسته سورس شما اصلاً از automake استفاده نمی کند.
فایل readme یا install را مطالعه کنید.

reza10203045
جمعه 25 اردیبهشت 1388, 11:46 صبح
این بسته فایل installنداره ولی در فایل readme این مطالب هستش که چیزی متوجه نشدم

This is the Code::Blocks IDE version 8.02
For license info, see the file "COPYING"
For compilers info, see the file "COMPILERS"
For support/feedback visit http://www.codeblocks.org

reza10203045
جمعه 25 اردیبهشت 1388, 11:50 صبح
البته گفته برای کامپایل این فایل رو ببینید. مطالبی که در فایلCOMPILERSهستش رو ایجا میزارم

What follows is a description of the steps required to install a compiler for use in Code::Blocks.

Unix platforms
----------------
Code::Blocks comes with pre-configured settings for the GNU GCC compiler & GDB debugger. Just make sure they are installed. This depends on your distribution, but virtually all wide-spread distributions today include them by default.

Windows platform
----------------
Code::Blocks does not come with a compiler nor a debugger. It is left up to you to decide which compiler you want to use.
At this moment, Code::Blocks natively supports the following compilers:

* GNU GCC compiler & GDB debugger
* Microsoft Visual C++ Free Toolkit 2003
* Borland C++ Compiler 5.5

When you launch Code::Blocks for the first time, it will scan the system for the above compilers (it takes virtually no time). After this scan completes, Code::Blocks will have been configured for the found compiler(s). Code::Blocks will also be configured even for compilers that were not found (default installation settings will be used for each of those compilers).

For more info on how to download and install each of the above compilers, please read on.


Downloading the GNU GCC compiler & GDB debugger
-----------------------------------------------
Go to "http://www.mingw.org/download.shtml" and download the file named MinGW-x.y.z.exe, where x, y and z are version numbers. At the time of this writing, this file is MinGW-3.1.0-1.exe.
This setup file contains everything needed to compile and debug windows programs.


Downloading the Microsoft Visual C++ Free Toolkit 2003
------------------------------------------------------
Go to "http://msdn.microsoft.com/visualc/vctoolkit2003" and click on the link labeled "Download the Visual C++ Toolkit 2003". This will download the setup file.


Downloading the Borland C++ Compiler 5.5
----------------------------------------
NOTE: At some point, by following the steps described below, you will be asked to register with Borland and fill out a survey. Registration is free.

Go to "http://www.borland.com/products/downloads/download_cbuilder.html#" and click on the link labeled "Compiler". After you accept the license agreement, you will be provided with download links to the setup file.


Compiler-neutral setup steps
----------------------------
Now that you have downloaded the setup file, launch the installation by double-clicking on the setup file. The actual installation process is really simple. Just press "Next" all the way and you 're done.

If you installed the compiler on a directory other than its default, launch Code::Blocks. If it is the first time you launch it, the compiler will be auto-detected. If not, go to "Settings/Configure plugins/Compiler", select the compiler you installed, switch to the "Programs" tab and press "Auto-detect". If you get a message saying that the compiler was auto-detected, congratulations! If not, then press the button with the three dots next to the "Auto-detect" button and select the installation directory of your compiler manually.

Sundown
جمعه 25 اردیبهشت 1388, 13:42 عصر
فکر میکنم برای نصب بسته شما نیاز هست که شما کامپایلر Gcc را نصب کنید. چون سورس ها باید توسط این کامپایلر کامپایل بشن.
برای اینکه ببینید gcc روی سیستم شما نصب هست یا نه توی ترمینال تایپ کنید gcc اگر اطلاعات مربوط به این کامپایلر اومد که یعنی نصبه و اگر پیغام داد که چنین دستوری وجود نداره یعنی نصب نیست و باید آن را دانلود و نصب کنید و سپس برنامه رو کامپایل کنید.
عجیبه که این کامپایلر پیش فرض روی سیستم شما نصب نیست. تا حالا ندیده بودم روی لینوکسی به صورت پیش فرض وجود نداشته باشه !

reza10203045
جمعه 25 اردیبهشت 1388, 16:40 عصر
در مورد کامپایلر نصب هستش و این پیغام رو میده

gcc: no input files

reza10203045
شنبه 26 اردیبهشت 1388, 14:08 عصر
آخر کسی پیدا نشد تا به این سوال ما جواب بده

حامد مصافی
شنبه 26 اردیبهشت 1388, 14:39 عصر
بسته code::blocks در حالت های binary و source قابل دانلود است. مطمئنید نوع سورس را دانلود کرده اید ؟
من همین الان نسخه سورس را دانلود کردم.
- MakeFile دارد
- یک فایل با نام install-sh دارد که مراحل نصب را انجام میدهد.

Sundown
شنبه 26 اردیبهشت 1388, 17:46 عصر
من فکر کنم بسته رو آپلود کن تا ما نصب کنیم ببینیم مشکل داره یا نه ؟ شاید اصلا بسته خراب باشه

reza10203045
شنبه 26 اردیبهشت 1388, 18:53 عصر
سلام
آقای BlackDal این گزینه هایی که گفتید در وجود دارد
آیا شما هم به شیوه ای که گفتید نصب می کنید یا نه.

reza10203045
شنبه 26 اردیبهشت 1388, 19:21 عصر
من همین الان دوباره دانلود کردم ولی وقتی باز هم دستور make رو میزنم همون پیغام رو میده
آقای BlackDal میشه شما نحوه نصب این بسته رو کامل بیان کنید اگر به صورت تصویری باشد واقعا ممنون میشم

حامد مصافی
شنبه 26 اردیبهشت 1388, 19:21 عصر
بله


./configure
make
make install

reza10203045
شنبه 26 اردیبهشت 1388, 19:33 عصر
باز هم همون پیغام رو میده دیگه نمیدونم که چیکار باید بکنم

حامد مصافی
چهارشنبه 30 اردیبهشت 1388, 10:08 صبح
من code::block را نصب کردم، مشکلی نداشت. اگر مجددا نتوانستید نصب کنید نتسجه فرمان ./configure را اینجا بگذارید.

ilius.gnu
پنج شنبه 31 اردیبهشت 1388, 06:35 صبح
یادتونه چی بهتون گفتم؟! (بالاخره ما تجربه داریم دیگه) الآن نباید طرف نصب از روی پکیج سورس برید. از مخازن رسمی برای نصب استفاده کنید یا فوقش پکیج deb رو دستی نصب کنید.
درسته که به برنامه‌نویسی علاقه دارید، اما کامپایل کردن برنامه هم قدم به قدم، یه دفعه میخواید یه اپلیکیشن گنده با کلی فایل و وابستگی و غیره رو کامپایل کنید!!
همین میشه که ملت از گنو/لینوکس خسته میشن، بهد میگن لینوکس عمومی نیست! خب مجبورید از اول بیاید از روی سورس نصب کنید؟!

reza10203045
پنج شنبه 31 اردیبهشت 1388, 13:16 عصر
سلام دوست عزیز اینطوری که شما میگید نیست , من تازه با لینوکس آشنا شدم و قصد خسته شدن ازش رو ندارم. شما درست میگید ولی من هم همین کارو می کردم یعنی بسته هایی رو که نمی تونم نصب کنم از مخازن اون نصب می کنم.