Si algú que té un Mac vol fer una guia/tutorial més detallada sobre les diferents opcions i el procés, endavant! Aquests apunts han estat creats ajuntat tutorials d’internet així que potser us trobeu amb errors, poseu comentaris!
Instruccions oficials
PDF professors:
Vídeo útil de YT:
PART 1: Instal·lar Fortan i Gnuplot
Previ: La terminal del Mac
Obrir la terminal
Es pot fer simplement obrint el buscador (
Cmd+Space
) i escrivint “Terminal”. O també obrint el Launchpad, entrant a Other i obrint l’aplicació Terminal.Comandaments per navegar
Nota: directori = carpeta (pel que ens interessa aquí).
cd
significa change directory, serveix per canviar de carpeta. (Exemple:cd Desktop
).
cd ..
serveix per anar un directori amunt.
pwd
significa print working directory, et diu a quina ruta et trobes.
ls
és una abreviació de list, et dona una llista de totes els arxius i subcarpetes que es troben en aquell directori.
clear
serveix per netejar la pantalla de la terminal.
Aconseguir permisos d’administrador
Si no vols haver d’estar posant la contrasenya cada vegada que vols instal·lar alguna llibreria o paquet, pots fer-ho sols un cop escrivint
su
seguit del nom del teu usuari.Per exemple si el nostre usuari fos “Pol” faríem
su Pol
, escriuríem la contrasenya i ja estaríem amb els privilegis d’administrador activats.Instal·lem Fortran i Gnuplot mitjançant Brew
1. Instal·lem Brew
Brew és un gestor de paquets, permet instal·lar diferents paquets controlant que no hi hagi errors de dependències i facilitant el procés.
Obra la terminal del Mac i copia-hi el següent comandament
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Segurament hauràs d’escriure la contrasenya (la que utilitzes quan s’obra l’ordinador).
Nota: al escriure la contrasenya no es mostrarà per pantalla. Així funciona la terminal de Mac per seguretat, simplement escriu-la i prem enter.
2. Instal·lem Fortran
GCC és una llibreria de GNU que inclou compiladors de Fortran, C++, Go… entre d’altres.
La instal·larem escrivint el següent comandament:
brew install gcc
3. Instalem gnuplot
De la mateixa manera que abans, utilitzem brew per instal·lar el paquet que ens interessa, en aquest cas gnuplot.
brew install gnuplot
Opcional: Instal·lem Gedit com a editor de text
Si volem fer sevir Gedit (un editor de text molt i molt bàsic) també ho podem fer amb brew. Simplement utilitzem.
brew install gedit
Nota: és un editor molt rudimentari, amb XCode o VSCode es va molt millor.
Opció alternativa: MacPorts
Si no volem fer servir Brew, també podem fer servir un altre gestor de paquets anomenat MacPorts.
1. Instal·lar MacPorts
xcode-select --install
Més informació aquí.
2. Instal·lar GCC (Fortran)
sudo port install gcc14
Nota: gcc14 fa referència a la versió 14.2.0, que és la última versió estable (escrit el 2/10/2024), potser quan llegeixis això ja han tret la 15 o la 16.
3. Instal·lar Gnuplot
sudo port install gnuplot
Ara anem a comprovar que funcionen correctament
Manera ràpida
Simplement comprovem que s’han instal·lat mirant quina versió tenim instal·lada
gfortran --version
I també
gnuplot --version
Si en alguna de les dues no ens diu la versió exacta és que no s’ha instal·lat correctament.
Previ: preparem un directori
Creem una carpeta a on vulguem (per exemple a l’escriptori) i allà hi posarem els nostres programes de prova. Obrim una terminal i ens dirigim a dins d’aquella carpeta (Exemple:
cd Desktop/Proves
)Comprovar que funciona el Fortran
Creem un arxiu manualment, i l’anomenem per exemple “prova.f90”. Hi posem el següent codi:
program helloWorld implicit none print *, 'Hello World!' end program
El compilem mitjançant el següent comandament a la terminal:
gfortran -o prova prova.f90
Es generarà un arxiu executable anomenat ‘prova’, l’executem fent
./prova
Hauríem de veure un Hello World! a la terminal.
Em surt un error
És probable (sobretot amb macOS BigSur) que surti el següent error
ld: library not found for -lSystem collect2: error: ld returned 1 exit status
Segurament l’error sigui que el Path està mal configurat.
Què és el Path?
Afegir un programa al Path un programa és equivalent a indicar-li la ruta a on es troben els executables.
Aquests normalment estan a dins d’una carpeta anomenada bin, on hi ha els arxius binaris que permeten convertir el codi en executables (és a dir compilar).
Nosaltres estem interessats en poder compilar un codi en Fortran en qualsevol carpeta (no sols a dins de la carpeta bin de Fortran).
Per a poder-ho fer, hem d’afegir aquella carpeta al Path, és a dir indicar-li al nostre ordinador la ruta de la carpeta bin i aquest li donarà permís per poder-se executar des d’altres directoris.
Per a configurar-lo correctament provarem a fer el següent:
brew link gcc
brew link gnuplot
Si en el procés ens surt l’error
could not symlink, /usr/local/bin is not writable
o similar, significa que el gestor de paquets brew no té permisos per modificar el Path.Per donar-li aquest permís farem
sudo chown -R `whoami`:admin /usr/local/bin
Nota: potser en el vostre cas, en l’error us surt una ruta diferent de /usr/local/bin, poseu doncs al comandament la ruta que us surti a vosaltres.
Ara en teoria li hem donat el permís correctament. Així que tornarem a provar de fer de nou el
brew link gcc
i el brew link gnuplot
. Si torna a sortir l’error tornarem a repetir amb el sudo
chown -R `whoami`:admin [ruta]
i anirem repetint l'intent de linkejar (donar permís per modificar el Path) fins que surtiWarning: Already linked: /usr/local/Cellar/gcc/10.2.0_4
Quan surti això significa que s’ha modificat correctament el Path, i ara sí, hauríem de poder compilar correctament amb gfortran -o prova
prova.f90
i .\prova
.Comprovar que funciona el Gnuplot
Creem un fitxer anomenat per exemple “dades.dat” i hi enganxem les següents dades:
1 1 2 4 3 9 4 16 5 25 6 36 7 49 8 64 9 81
Creem un fitxer anomena’t “fig1.gnu” i hi enganxem el següent codi:
file = 'dades.dat' set term png set out 'fig1.png' plot file
Generem el gràfic escrivint el següent comandament a la terminal
gnuplot fig1.gnu
A la nostra carpeta s’hauria d’haver generat un fitxer “fig1.png”, que si l’obrim hauria de ser la següent imatge
Part 2: Instal·lem un editor de text
VSCode
Bla bla
Part 3 (opcional): Automatitzem-ho
De manera molt similar a Instal·lar Fortran i Gnuplot per Windows + Visual Studio Code fem el mateix, però ara simplement el tasks.json hem de tenir en compte que utilitza la shell de ubuntu enlloc del powershell de windows.
Així doncs les tasques seran
{ "version": "2.0.0", "tasks": [ { "label": "Create Folders", "type": "shell", "command": "mkdir -p exes data out", "options": { "cwd": "${fileDirname}" }, "problemMatcher": [], "group": "build" }, { "label": "Build & Run Fortran", "type": "shell", "command": "${fileDirname}/exes/${fileBasenameNoExtension}", "options": { "cwd": "${fileDirname}" }, "dependsOn": [ "Build Fortran" ] }, { "label": "Build Fortran", "type": "shell", "command": "gfortran", "options": { "cwd": "${fileDirname}" }, "args": [ "${fileDirname}/${fileBasename}", "-o", "${fileDirname}/exes/${fileBasenameNoExtension}" ] }, { "label": "Create Plot", "type": "shell", "command": "gnuplot", "options": { "cwd": "${fileDirname}" }, "args": [ "${fileDirname}/${fileBasename}" ] } ] }
Notar que hem canviat simplement
md
amb un condicional per mkdir -p
i hem tret l’extensió .exe innecessària per macOS i linux..I les dreceres seran iguals