Εγκατάσταση της Fortran τοπικά

Μάθε πώς να εγκαταστήσεις τη Fortran τοπικά, για να λύνεις τις ασκήσεις του Exercism στον δικό σου υπολογιστή.


Η διαδρομή για τη γλώσσα Fortran απαιτεί να έχεις εγκατεστημένο στο σύστημά σου το εξής λογισμικό:

  • έναν σύγχρονο μεταγλωττιστή Fortran
  • το σύστημα δόμησης CMake για πολλαπλές πλατφόρμες

Προαπαιτούμενο: Ένας σύγχρονος μεταγλωττιστής Fortran

Αυτή η διαδρομή απαιτεί μεταγλωττιστή με υποστήριξη Fortran 2003. Όλοι οι βασικοί μεταγλωττιστές που κυκλοφόρησαν τα τελευταία χρόνια θα πρέπει να είναι συμβατοί.

Τα παρακάτω περιγράφουν την εγκατάσταση του GNU Fortran ή του GFortran. Άλλοι μεταγλωττιστές Fortran αναφέρονται εδώ. Το Intel Fortran είναι μια δημοφιλής ιδιόκτητη επιλογή για εφαρμογές υψηλών επιδόσεων. Οι περισσότερες ασκήσεις θα λειτουργήσουν με Intel Fortran, αλλά έχουν δοκιμαστεί μόνο με GNU Fortran, οπότε τα αποτελέσματα μπορεί να διαφέρουν.

Προαπαιτούμενο: Το CMake

Το CMake είναι ένα σύστημα δόμησης ανοιχτού κώδικα για πολλαπλές πλατφόρμες που δημιουργεί σενάρια δόμησης για το εγγενές σύστημα δόμησης του υπολογιστή σου (make, Visual Studio, Xcode, κ.λπ.). Η διαδρομή Fortran του Exercism χρησιμοποιεί το CMake για να σου δώσει μια έτοιμη δόμηση που:

  • μεταγλωττίζει τα tests
  • μεταγλωττίζει τη λύση σου
  • συνδέει το εκτελέσιμο των tests
  • εκτελεί αυτόματα τα tests σε κάθε δόμηση
  • κάνει τη δόμηση να αποτύχει αν αποτύχει έστω και ένα test

Η χρήση του CMake επιτρέπει στο Exercism να παρέχει ένα σενάριο δόμησης για πολλαπλές πλατφόρμες, που μπορεί να δημιουργήσει αρχεία έργου για ολοκληρωμένα περιβάλλοντα ανάπτυξης όπως το Visual Studio και το Xcode. Έτσι μπορείς να επικεντρωθείς στο πρόβλημα και να μην ανησυχείς για τη ρύθμιση μιας δόμησης για κάθε άσκηση.

Το να φτιάξεις μια δόμηση που δουλεύει παντού δεν είναι εύκολο και απαιτεί πρόσβαση σε πολλά διαφορετικά συστήματα. Αν αντιμετωπίσεις οποιοδήποτε πρόβλημα με τη συνταγή CMake που παρέχεται, ανάφερε το πρόβλημα για να βελτιώσουμε την υποστήριξη του CMake.

Απαιτείται CMake 2.8.11 ή νεότερο για να χρησιμοποιήσεις τη συνταγή δόμησης που παρέχεται.

Linux

Το Ubuntu 16.04 και νεότερες εκδόσεις έχουν συμβατούς μεταγλωττιστές στον διαχειριστή πακέτων, οπότε μπορείς να εγκαταστήσεις τον απαραίτητο μεταγλωττιστή με

sudo apt-get install gfortran cmake

Για άλλες διανομές, θα πρέπει να μπορείς να αποκτήσεις τον μεταγλωττιστή μέσω του διαχειριστή πακέτων σου.

MacOS

Οι χρήστες MacOS μπορούν να εγκαταστήσουν το GCC με το Homebrew μέσω

brew install gfortran cmake

Windows

Στα Windows υπάρχουν αρκετές επιλογές:

Windows Subsystem for Linux (WSL)

Τα Windows 10 εισάγουν το Windows Subsystem for Linux (WSL). Αν έχεις το Ubuntu 16.04 ή νεότερο ως υποσύστημα, άνοιξε ένα κέλυφος Bash του Ubuntu και ακολούθησε τις οδηγίες για Linux.

Windows με MingW GNU Fortran

Οι χρήστες Windows μπορούν να αποκτήσουν το GNU Fortran μέσω του MingW. Ο ευκολότερος τρόπος είναι να εγκαταστήσεις πρώτα το chocolatey και μετά να ανοίξεις ένα κέλυφος cmd ως διαχειριστής και να εκτελέσεις:

choco install mingw cmake

Αυτό θα εγκαταστήσει το MingW (GFortran και GCC) στο C:\tools\mingw64 και το CMake στο C:\Program Files\CMake. Έπειτα πρόσθεσε τους καταλόγους bin αυτών των εγκαταστάσεων στο PATH, δηλαδή:

set PATH=%PATH%;C:\tools\mingw64\bin;C:\Program Files\CMake\bin

Windows με Visual Studio, NMake και Intel Fortran

Δες το Intel Fortran

Intel Fortran

Για το Intel Fortran πρέπει πρώτα να αρχικοποιήσεις τον μεταγλωττιστή Fortran. Στα Windows με Intel Fortran 2019 και Visual Studio 2017, η γραμμή εντολών θα πρέπει να είναι:

"c:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019\windows\bin\ifortvars.bat" intel64 vs2017

Αυτό φορτώνει τις διαδρομές για το Intel Fortran και το cmake θα πρέπει να τις εντοπίσει σωστά. Επίσης, στα Windows θα πρέπει να ορίσεις τη γεννήτρια cmake NMake για δόμηση από τη γραμμή εντολών, π.χ.

mkdir build
cd build
cmake -G"NMake Makefiles" ..
NMake
ctest -V

Οι παραπάνω εντολές θα δημιουργήσουν έναν κατάλογο build (όχι απαραίτητο, αλλά καλή πρακτική), θα δομήσουν (NMake) τα εκτελέσιμα και θα τα δοκιμάσουν (ctest).

Για άλλες εκδόσεις του Intel Fortran, ψάξε στην εγκατάστασή σου για το ifortvars.bat στα Windows και για το ifortvars.sh σε Linux/macOS. Εκτέλεσε το σενάριο σε ένα κέλυφος χωρίς επιλογές και μια βοήθεια θα εξηγήσει ποιες επιλογές έχεις. Σε Linux ή MacOS οι εντολές θα ήταν:

. /opt/intel/parallel_studio_xe_2016.1.056/compilers_and_libraries_2016/linux/bin/ifortvars.sh intel64
mkdir build
cd build
cmake ..
make
ctest -V