— Alo, aj svrati!
— Da svratam? A štoc?
— Imamo pole pod sačom, blatinu dekantiranu, rakićki sir iz mišine, vriško kiselu papriku iz Ševaš Polja, utakmicu pošlje…
— Ne mogu ti ja na tom napravit ni dvajest maraka šćete skupa š čišćenjem. Reči, šta je?
— Ma triba mi malom fortran instalirat.
— Na što?
— Na onaj moj iMac.
— Unti. Eto nas.
— Koji vas?
— Nas.
— Koliko?
— Ne tribaš ništa pojačat, more bit samo ton na televiziji, ima nas i gluvoprdasti.
Pogledamo iMac. Snow Leopard 10.6.8.
Utipkamo
Cmd+Space xc EnterPokrene se Xcode. Škljocnemo na izborniku na
Xcode > About Xcode i vidimo:
Version 3.2.4 64-bit
Nije baš najnoviji. Ako ćemo skidat verziju 4 ne ćemo završit večeras.
Ajmo popriko.
Pokrenemo Terminal
Cmd+Space term Enterimamo što vidit. U promptu piše:
adsl-83-xxx-xxx-xxx:~ andja$Iđemo dangubit.
Poćirimo u System Preferences > Sharing > Computer Name
tamo piše
Andja's iMacRješenje ostavljamo krajnjem korisniku:
Prevent the Terminal host name from changing
[cnet]Tipkamo u terminalu
adsl-83-xxx-xxx-xxx:~ andja$gcc -vi zadnji redak nam očekivano kaže
gcc version 4.2.1 (Apple Inc. build 5664)Ne valja. Apple u gcc (GNU Compiler Collection) ne meće fortran.
Sistemske kompajlere i programske jezike ne valja krećat.
Primjer: Perl @ Mac
[perlmonks]Što sad? Instalirat
Virtualbox i u njem
Ubuntu 10.0.4 LTS? Tamo je sve na mistu. To bi potrajalo.
Khm. Korisniku ne treba kompletan
IDE.
Nismo sigurni da u ovu Xcode verziju možemo suvislo i brzo integrirat
fortran plugin, ne znamo ni postoji li odgovarajući. Za
Photran nam treba instalirat Eclipse.
Odbacujemo IDE. Korisnik tvrdi da mu to triba za faks i da su to programčići kojih izvorni kod stane na najviše stranicu-dvije.
Kompajlirati novu verziju 4.6.1
GCC-a na Darwinu nije baš trivijalno kao u gornjem primjeru
[perlmonks]. Nije trivijalno ni istu verziju (4.2.1) kompletnu s fortranom u novom direktoriju posložit. Uvjet je ne dirat sistemski Appleov GCC.
Ne volimo ni binariese (Fink, Macports, etc.).
Nemamo vrimena i najboljim nam se čini izbor iz izloga br. 3 —
gfortran: Snow Leopard on Intel 64-bit processors (gfortran 4.6.1)
Homebrew ostavljamo kao
last resort, jerbo uz ovaj binaries uvjerljivo djeluje slijedeće:
»The gfortran package for MacOS X installs all files in the
/usr/local/gfortran directory, and a single symbolic link (
/usr/local/bin/gfortran). If you need to uninstall it (since Apple packages do not support auto-uninstalling), you need to type the following command in a terminal, as administrator:
sudo rm -r /usr/local/gfortran /usr/local/bin/gfortranAs every time you use administrator privileges, double check your command and make no mistake!«
Tu još piše nešto bitno da se znamo vratit i popravit šćetu ako ne bude sve u redu.
»Find the latest version supported on your platform: XCode 2.5 for Tiger, XCode 3.1.4 for Leopard, XCode 4 for Snow Leopard.«
Nadamo se da je Apple u Xcode 4 stavio svoju okljaštrenu verziju gcc-a 4.6.1 i da bi to u drugom pokušaju trebalo bit dobro jer u ovom namjerno ne skidamo i ne instaliramo Xcode 4.
Ni kompajleri nisu što su nekad bili. Kutija disketa je nekad bila ogroman fortran repozitorij, a nu danas: gfortran-4.6.1-x86_64-SnowLeopard.dmg 56.2 MB
Instalacija trivijalno škljocasta.
Po instalaciji pokrećemo terminal:
adsl-83-xxx-xxx-xxx:~ andja$gfortran -vVidi ga i iz korisnikovog home direktorija, znači da je varijabla PATH ažurirana i/ili da je symlink postavljen kako piše.
Dio teksta odgovora pomalo i očekivano zabrinjava:
[…] Configured with: ../gcc-4.6.1/configure […]Korisnik nije baš višt terminalu. Verzije i podržane verzije fortrana su prilično neprohodna šuma.
»The GFortran compiler is fully compliant with the Fortran 95 Standard and includes legacy F77 support. In addition, a significant number of Fortran 2003 and Fortran 2008 features are implemented.«
[gfortran]Tabuliranje fortranskog koda zna bit gnjavaža u nekim editorima. Emacs je Emacs.
Aquamacs je verzija Emacs-a za Mac. Instaliramo. Emacs ima malo čudno nazivlje i prečace za nenavikle. Buffer mu je nekakav ekvivalent datoteci. Pokrećemo Aquamacs
Cmd+Space Aq EnterOtvaramo novi Buffer prilagođen za pisanje fortran izvornog kôda.
Škljocamo: File > New Buffer in Mode > Fortran
Nađemo negdi na webu program "Hello World in fortran".
Preuzimamo
odavdePROGRAM MAIN
PRINT *, 'HELLO WORLD'
STOP
END
Lijepimo u Aquamacs buffer. Spremamo buffer/datoteku kao hellow.f
Aquamacs na izborniku ima i Tools > Compile i škljocanjem na to, u statusnoj traci (pri dnu prozora) se pojavi
Compile command: make -kNama ne treba
make, u ovom slučaju. Na izborniku Tools ima puno lipi stvari koje ne ćemo sad probat.
Nama treba u terminalu utipkat:
adsl-83-xxx-xxx-xxx:~ andja$gfortran -o hellow hellow.fJe ako nam je datoteka hellow.f u
home direktoriju, nu ona je na adresi
/Users/andja/Desktop/hellow.fLino tipkat? Nije terminal DOS. Odvučete mišom s Desktopa datoteku hellow.f u prozor terminala i ovaj sam napiše puni path datoteke.
Onda to izgleda ovako:
adsl-83-xxx-xxx-xxx:~ andja$gfortran -o hellow /Users/andja/Desktop/hellow.f Enter. Ne valja. Dio poruke o grešci:
PROGRAM MAIN
1
Error: Non-numeric character in statement label at (1)Pa jȁ! Nije fortran pljuni pa prilipi. Oće on to tabulirano.
Popravljamo sadržaj datoteke izvornog kôda i više nego triba.
5 PROGRAM MAIN
10 PRINT *, 'HELLO WORLD'
20 STOP
30 END
Tabulatori sami uredno obavljaju posao ravnanja kôda u fortran modu bez tipkanja tipke
Tab na tipkovnici.
Spremamo. Kompajliramo. Nema poruke o grešci. U
home direktoriju je kompajlirana izvršna (executable datoteka) hellow. vidi se i u Finderu. Bode oči jer tamo su obično samo standardni Mac direktoriji.
Krajnji korisnik utipkava:
adsl-83-xxx-xxx-xxx:~ andja$hellowi dobija poruku o grešci:
-bash: hellow: command not found Kvaka je u terminalskim naredbama, PATH-u itd.
Korisnikov home direktorij terminalu je
./ Daklem:
adsl-83-xxx-xxx-xxx:~ andja$./hellowNakon čega terminal uredno ispiše izlizani
HELLO WORLD.
Preporučujemo uredno zatvaranje terminala:
adsl-83-xxx-xxx-xxx:~ andja$exit Što se nas tiče — radi. Ako počne pravit probleme treba instalirat Xcode 4, vidjet koja je verzija gcc-a u njemu, deinstalirat postojeći gfortran i ponovo instalirat gfortran 4.6.1 ili čak niži ako se nađe isti broj verzije koji bude bio imao gcc u Xcode 4.
Ako opet bude štekalo, onda primjerom perla, napravit kompletno novo okružje i iz izvornog koda kompajlirat gcc i/ili nekoliko gcc-a, ne dirajući sistemski gcc.