alan
Newbie
Van mreže
Pol: 
Poruke: 11
|
 |
« poslato: 04 Фебруар 2008, 16:04:21 » |
|
Pokusavam vec nekoliko dana da instaliram fortrran 77. I pored svih vasih instrukcija nisam u tome uspeo. Mislim da je problem mozda u pravilnom set-up-u packages repositories-a u yast-u. Skinuo sam rpm paket sa http://download.opensuse.org/distribution/10.2/repo/oss/suse/i586/. Napravio sam u home direktorijumu fajl "izvor" i u njega prebacio sa desktopa ovaj paket: gcc-fortran-4.1.3-29.i586.rpm. Zatim sam ga instalirao preko yast-a, i vidim da je cekiran sa desne strane u yast-u. Na kraju odem u shell i ukucam sledece: gcc-fortran my_program.f i dobijem odgovor bash: gcc-fortran: command not found Probao sam da ukucavam: gcc-fortran izvor.f gcc-fortran my_program.f gcc-fortran i jos neke kombinacije ali je odgovor uvek isti Znam da negde pravim gresku...! Da li neko moze da mi da instrukcije kako da ovo izvedem bez tih gresaka. Imam instaliran opensuse 10.2
|
|
|
|
|
|
nowave
|
 |
« Odgovor #1 poslato: 04 Фебруар 2008, 16:12:02 » |
|
To je zato sto se gcc fortran kompajler ne poziva komandom gcc-fortran, vec komandom g77. Probaj: g77 source_file.f Trebalo bi da radi
|
save the whales; feed the hungry; free the malloc()s
|
|
|
alan
Newbie
Van mreže
Pol: 
Poruke: 11
|
 |
« Odgovor #2 poslato: 04 Фебруар 2008, 16:18:27 » |
|
Kada ukucam g77 source_file.f dobijem odgovor g77: source_file.f: No such file or directory
Sta je ustvari "source.f", mozda mi nije dobar izvorni kod. Gde da ga nadjem, proverim i kako...?
|
|
|
|
« Poslednja izmena: 04 Фебруар 2008, 16:22:29 od alan »
|
Prijavi uredniku
Sačuvana
|
|
|
|
|
nowave
|
 |
« Odgovor #3 poslato: 04 Фебруар 2008, 16:32:00 » |
|
Pa kad ti izbaci gresku No such file or directory to znaci da nije nasao file koji si mu zadao da kompajlira, tj. fajl source_file.f ne postoji. Umesto source_file.f trebas da stavis ime tvog fajla kojeg hoces da kompajliras. Recimo da uneses sledeci kod u nekom editoru i da ga nazoves source_file.f: PROGRAM MAIN INTEGER N, X EXTERNAL SUB1 COMMON /GLOBALS/ N X = 0 PRINT *, 'Enter number of repeats' READ (*,*) N CALL SUB1(X,SUB1) END
SUBROUTINE SUB1(X,DUMSUB) INTEGER N, X EXTERNAL DUMSUB COMMON /GLOBALS/ N IF(X .LT. N)THEN X = X + 1 PRINT *, 'x = ', X CALL DUMSUB(X,DUMSUB) END IF END Onda u direktorijumu gde si snimio fajl source_file.f pokreni prethodnu komandu, i dobices jedan novi fajl a.out. Njega mozes izvrsiti iz konzole pomocu komande ./a.out, naravno u istom tom direktorijumu. Ova komanda ce izvrsiti tvoj fajl, i odraditi ono sto si ti i hteo da program radi.
|
save the whales; feed the hungry; free the malloc()s
|
|
|
|
burga
|
 |
« Odgovor #4 poslato: 04 Фебруар 2008, 16:33:18 » |
|
Postoji jedan veliki trik na Linuxu - komanda "apropos". Ona lista sve komande (da kratkim opisom) koje u svom opisu imaju argument koji joj korisnik prosledi. Pokusaj da ukucas $ apropos fortran i pogledaj izlaz. Naravno, pomocu man ili info komande, moguce je dobiti detaljan opis za bilo koju komandu (koja ima instalirane svoje man/info pages, ali to i jeste slucaj najcesce).
|
Нема Бога, и Дирак је његов пророк http://www.burgic.com[img=http://www.boincstats.com/signature/user_1428421.gif]
|
|
|
alan
Newbie
Van mreže
Pol: 
Poruke: 11
|
 |
« Odgovor #5 poslato: 04 Фебруар 2008, 17:14:45 » |
|
Znaci sledeci prethodne instrukcije evo sta se desava, kako to izgleda u shell-u AlanSU@linux-tyjb:~> apropos fortran ctags (1p) - create a tags file (DEVELOPMENT, FORTRAN) fort77 (1p) - FORTRAN compiler (FORTRAN) g77 (1) - GNU project Fortran 77 compiler AlanSU@linux-tyjb:~> fort77 izvor.f bash: fort77: command not found (Recimo da uneses sledeci kod u nekom editoru i da ga nazoves source_file.f: <kod>...Onda u direktorijumu gde si snimio fajl source_file.f pokreni prethodnu komandu, i dobices jedan novi fajl a.out.) Ovaj deo uopste ne razumem? Kako i koju komandu da pokrenem....  Ja sam ipak nov u svemu ovome...!
|
|
|
|
|
|
nvukicevic
|
 |
« Odgovor #6 poslato: 04 Фебруар 2008, 17:22:01 » |
|
Hajde da probamo da razdvojimo instalaciju i upotrebu fortran kompajlera. Otvori konzolu i ukucaj komandu g77 --version, da li ima odgovora? Ako je kompajler pravilno instaliran pojaviće se informacije o verziji, verziji gcc paketa i licenci. Ako radi, kako se zove fajl sa fortranskim programom koji hoćeš da kompajliraš? Otvori terminal u direktorijumu u kome je taj fajl snimljen, ako koristiš KDE komanda je preko tastera F4 ili iz menija Tools izaberi Open terminal. Sada unesi komandu g77 i potom ime fajla sa programom.
Nemanja Vukićević
|
|
|
|
|
alan
Newbie
Van mreže
Pol: 
Poruke: 11
|
 |
« Odgovor #7 poslato: 04 Фебруар 2008, 17:33:20 » |
|
g77-version Odgovor je: command not found
recimo kada ukucam rpm -q gcc-fortran compat-g77 dobijem gcc-fortran-4.1.3-29
|
|
|
|
« Poslednja izmena: 04 Фебруар 2008, 17:43:26 od alan »
|
Prijavi uredniku
Sačuvana
|
|
|
|
|
nowave
|
 |
« Odgovor #8 poslato: 04 Фебруар 2008, 17:39:07 » |
|
Kucaj sledece: gcc77 -v Ako dobijes bilo sta osim command not found, na konju si. Posle ovoga otvori bilo koji text editor, pa unesi onaj kod koji sam ti ostavio, i snimi ga pod imenom source_file.f Zatim iz komandne linije odes tamo gde si snimio taj fajl i kucas sledece: g77 source_file.f Ova komanda ce pokrenuti fortran kompajler, koji ce kreirati u tom direktorijumu sledeci fajl: a.out. To je izvrsni fajl i njega mozes da pokrenes naredbom ./a.out. Vidi sta ce se destit.
|
save the whales; feed the hungry; free the malloc()s
|
|
|
alan
Newbie
Van mreže
Pol: 
Poruke: 11
|
 |
« Odgovor #9 poslato: 04 Фебруар 2008, 17:48:23 » |
|
gcc77 odgovor je: command not found
|
|
|
|
|
|
nowave
|
 |
« Odgovor #10 poslato: 04 Фебруар 2008, 17:52:01 » |
|
Izvini, treba da kucas samo g77.
|
save the whales; feed the hungry; free the malloc()s
|
|
|
alan
Newbie
Van mreže
Pol: 
Poruke: 11
|
 |
« Odgovor #11 poslato: 05 Фебруар 2008, 11:24:03 » |
|
Kako da u nekom direktorijumu direktorijumu pokrenem odredjenu komandu?  ? U cemu da je pisem, sta treba da se otvori...
|
|
|
|
|
|
nowave
|
 |
« Odgovor #12 poslato: 05 Фебруар 2008, 11:28:25 » |
|
Pa sve ovo trebas da uradis u komandnoj liniji. Isto tamo gde si kucao i g77 -v. Moras prvo da se malo upoznas sa linux(unix) komandama. Vrlo su slicne onima na Win-u, bar ove osnovne sto se tice navigacije. Vise o tome mozes da pogledas ovde: http://www.ss64.com/bash/
|
save the whales; feed the hungry; free the malloc()s
|
|
|
|
nvukicevic
|
 |
« Odgovor #13 poslato: 05 Фебруар 2008, 12:57:48 » |
|
Kako da u nekom direktorijumu direktorijumu pokrenem odredjenu komandu?  ? U cemu da je pisem, sta treba da se otvori... Ako koristiš KDE otvori taj direktorijum u Konqueror-u, pa ili pritisni taster F4 ili u Konqueror-a iz menija Tools izaberi Open terminal. Otvara se novi prozor, terminal i u njemu kucaš komande. Prozor ima belu pozadinu i crni tekst i izgleda otrilike ovako: [user@localhost:~]$ - ovde unosiš komande ili za OpenSUSE (bar u 10.3): user@localhost:~> -ovde unosiš komande Nemanja Vukićević
|
|
|
|
|
|
burga
|
 |
« Odgovor #14 poslato: 05 Фебруар 2008, 16:04:52 » |
|
Inače, KDEov emulator konzole se zove „konsole“ (potpuno logično, zar ne  ), i najčešće se nalazi u Utilities. Da bi pokrenuo neku komandu, ona mora biti ili u folderu koji je naveden kao moguća putanja izvršćnih datoteka, ili moraš navesti put do komande/programa (apsolutni ili relativni). Tekući direktorijum je „.“ pa ako hoćeš da pokreneš program koji ti je u tekućem rirektorijumu kucaš „./moj_nekakav_program“. Direktorijum iznad tekućeg je „..“. Direktorijumi se razdvajaju slashom (/) a ne backslashom (\) kao u windowsu. Backslash se koristi za „escape“-ovanje specijalnih karaktera, kao što su belina, dolar, sam backslash, asterisk i sl. Igraj se malo sa apropos i man komandama, dok ne nađeš sve što te zanima od komandi, i kako one rade. Inače, u Linuxu možeš najkomotnije da slušaš muziku u konzoli. Ima tu još gomila caka, ako te ne mrzi skini s neta neku knjigu o Bash-u (Bourne again shell - najčešće korićeni shell u Linuxu, verujem da ga i ti koristiš).
|
Нема Бога, и Дирак је његов пророк http://www.burgic.com[img=http://www.boincstats.com/signature/user_1428421.gif]
|
|
|
|