انجمن گروه موج سازان
نصب برنامه های با استفاده از دستورات بنیادی (بسته های باینری)نصب geant4 - نسخه قابل چاپ

+- انجمن گروه موج سازان (http://www.mojsazan.com/forum)
+-- انجمن: لینوکس و سیستم های متن باز (http://www.mojsazan.com/forum/forumdisplay.php?fid=23)
+--- انجمن: لینوکس (عمومی) (http://www.mojsazan.com/forum/forumdisplay.php?fid=25)
+--- موضوع: نصب برنامه های با استفاده از دستورات بنیادی (بسته های باینری)نصب geant4 (/showthread.php?tid=2033)

صفحات 1 2


نصب برنامه های با استفاده از دستورات بنیادی (بسته های باینری)نصب geant4 - mersadkhan - 02-06-2012

مجبور شدم برای کار دانشگاه برنامه ای را خارج از مجموعه پکیج ها نصب کنم.این برنامه به صورت بسته هایی تحت پسوند tar که مربوط به فشرده سازیست ارائه می‌شد و من (تازه وارد به لینوکس )نمیدانستم اینها چگونه نصب میشوند.حالا اینجا آدرس برنامه geant4مربوط به کدنویسی هسته ای را مینویسم تا در چگونگی نصب آن از شما کمک بگیرم.توضیح نصب این برنامه به لاتین در این آدرس آمده است
http://geant4.slac.stanford.edu/tutorial/installation/Geant4.9.4.p02/Linux/Geant4_9_4_p02_Linux_Installation.htm
که میگوید برای نصب نیاز به یک بسته پیش فرض دارد به نام CHLEPکه از آدرس
ٰhttp://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/clhep.html
دریافت کرد برنامه اصلی geant4را میشود از این آدرس مربوط به سایت هسته ای cernدریافت کرد
http://geant4.cern.ch/support/download.shtml
خلاصه ما این بسته ها را گرفتیم و با ذوق و شوق باز کردیم و از سر سواد کم از لینوکس (همچنان راه برای یادگیری باز است)نتوانستم آن را نصب کنم .
مشکلات من:پس از خارج نمودن فایل ها از حالت فشرده به قسمت اول توضیح داده شده در سایت رفتم و در ترمینال با دسترسی root دستور ./configureرا وارد نمودم البته قبل از آن فهمیدم که باید بسته cmake را نصب کنم
سوالات اول :cmake چیه ؟auto make چیه؟و من باید چگونه این برنامه (geant4)را نصب کنم
ضمن تشکر باید بگویم من روش صحیح سوال در فروم ها را نمیدانم و اگر بی راه نوشته ام عذر میخوام


RE: نصب برنامه های با استفاده از دستورات بنیادی (بسته های باینری)نصب geant4 - مهرداد عباسی - 02-06-2012

سلام مرصاد جان

شما میتوانید نحوه استفاده از Makefile ها در اینجا بخوانی !!!

یکی از مشکلاتی که معمولا کاربران تازه‌کار در گنو/لینوکس با اون مواجه هستند ، کامپایل کردن برنامه ها هست.

کاری که در ابتدا خیلی مشکل به نظر میرسه اما احتمالا میتونین با این چند تا کار مشکلات ساده ای رو که براتون پیش میاد ، حل کنین !!!

به طور کلی نیاز به کامپایل خیلی کم ممکنه پیش بیاد ، مثلا امکان داره برنامه ای تازه منتشر شده باشه و هنوز بسته های اون برای توزیع های مختلف آماده نشده باشه.

کامپایل شیوه های مختلفی داره که خودتون باید برین یاد بگیرین !!! ;) 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

البته بعضی وقت ها هم به خطاهایی برمیخوریم که !!!!

منبع


RE: نصب برنامه های با استفاده از دستورات بنیادی (بسته های باینری)نصب geant4 - مهرداد عباسی - 02-07-2012

automake یکی از اجزای autotools برای انتشار سورس نرم افزار ها در قالب unix source format است.
بوسیله automake شما می توانید کاربرانتان را از روند های پیچیده کامپایل سورس (که ممکن است فقط شما از آنها اطلاع داشته باشید) خلاص می کنید. بدین ترتیب کاربر شما فقط با صدور یک فرمان (make ) سورس شما را آنگونه که باید [طبق راهکار های شما که در فایل MakeFile مشخص کرده اید] کامپایل می کند. automake همچنین این توانایی را دارد تا با استفاده از فایل های rc خروجی (فایل های اجرایی elf یا so های) نرم افزار شما در محل های مناسب کپی کرده و از منو در گروهی که شما تعیین کرده اید یک link ایجاد کرده و اصطلاحاً نرم افزار کامپایل شده با نصب کند (با فرمان make install)

نصب GNU autotools

برای نصب autoconf و automake به بسته های autoconf و automake نیاز دارید.

apt-get از شما می خواهد تا یکی از ورژن های automake را انتخاب کنید . برای مثال اگر به automake1.9 نیاز دارید باید بسته automake1.9 را نصب کنید.

http://wiki.ubuntu-ir.org/InstallingCompilers

منبع


RE: نصب برنامه های با استفاده از دستورات بنیادی (بسته های باینری)نصب geant4 - mersadkhan - 02-07-2012

configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../.."
این پیام بعد از ./configureیعنی چه و چه باید کرد؟


RE: نصب برنامه های با استفاده از دستورات بنیادی (بسته های باینری)نصب geant4 - mersadkhan - 02-07-2012

make: *** No targets specified and no makefile found. Stop.
بعد از make با این خطا مواجه میشوم؟



RE: نصب برنامه های با استفاده از دستورات بنیادی (بسته های باینری)نصب geant4 - مهرداد عباسی - 02-07-2012

سلام مرصاد جان make فایل شما را پیدا نمیکنه

اون قسمت make فایل را کامل مطالعه کنید

install-sh, install.sh, or shtool in این ۳ تا پکیج را لطفا نصب کنید


RE: نصب برنامه های با استفاده از دستورات بنیادی (بسته های باینری)نصب geant4 - mersadkhan - 02-07-2012

مهردادجان در پیغام نوشته install-sh,install.shیابستهshtool inکه من چون در ابونتو دو بسته اول نبود آخری را نصب کردم آیا باید هنوز دنبل دو بستع دیگر در اینترنت بگردم و آنها را هم نصب کنم(با توجه به تکرار این پیغام؟


RE: نصب برنامه های با استفاده از دستورات بنیادی (بسته های باینری)نصب geant4 - مهرداد عباسی - 02-07-2012

بعضی مواقع موقع کامپایل سورس حتما باید در مسیر نصب باشید دقت کنید که از مسیر دیگری آدرس دهی نکنید

این هم install.sh

http://dev.w3.org/cvsweb/DOM/install-sh
http://dev.w3.org/cvsweb/~checkout~/DOM/install-sh?rev=1.1.1.1&content-type=text/plain

اگر مشکل شما حل نشد

از دستور زیر استفاده کنید
دقت کنید اگر شما پکیج libtool را نصب کنید install-sh نصب میشه بعد دستور زیر را بزنید
autoreconf -f -i -Wall,no-obsolete

فایل config.sub ایجاد بشه
حالا اگر ./autogen.sh را اجرا کنید

یک make clean

بعد هم make && make install استفاده کنید

من فقط یک سری توضیح میدهم

ببنید شما یاد فایل install را در مسیر /usr/bin/install داشته باشید

و install-sh , install.sh باید توسط automake ساخته بشه

و اصولا در کامپایل اجرای اسکریپت configure کفایت میکنه

امیدوارم مشکل حل بشه امتحان کنید نتیجه را اعلام کنید ممنون

ترتیب اجرا :

$ libtoolize --force
$ aclocal
$ autoheader
$ automake --force-missing --add-missing
$ autoconf
$ ./configure"



RE: نصب برنامه های با استفاده از دستورات بنیادی (بسته های باینری)نصب geant4 - mersadkhan - 02-07-2012

For the following step, note that there are two dashes in a row before the word "prefix".

Also note that for this command you should use the absolute path for your CLHEP, such as:

/u/ey/perl/CLHEP

rather than a relative path, such as:

~/CLHEP

And be sure to point to your top level CLHEP directory, NOT:

/u/ey/perl/CLHEP/2.1.0.1/CLHEP



Now navigate into the unpacked directory and begin the configuration process.

Of course, substitute your actual CLHEP path here:

cd 2.1.0.1/CLHEP

./configure --prefix /u/ey/perl/CLHEP
با استفاده از ورژن قبلی از مشکل قبل گذشتم باتوجه به توضیحات نصب geant4 که در اینجا آمده
http://geant4.slac.stanford.edu/tutorial/installation/Geant4.9.4.p02/Linux/Geant4_9_4_p02_Linux_Installation.htm
در دستور
./configure --prefix /u/ey/perl/CLHEP
--perfex چیه ؟و باید به چه پیوند داد ؟آیا باید به بسته های نصب برنامه ربط داد؟به طور کلی من باید الان بنا بردستور فوق چه کنم؟


RE: نصب برنامه های با استفاده از دستورات بنیادی (بسته های باینری)نصب geant4 - مهرداد عباسی - 02-07-2012



prefix فقط یک آرگومانه

به این نکته دقت کنید !!!
And be sure to point to your top level CLHEP directory, NOT:

/u/ey/perl/CLHEP/2.1.0.1/CLHEP