Εγκατάσταση Oommf-1.2a5 σε Linux Mint 15
Μου ζητήθηκε να κάνω κάποιες δοκιμές για το εν λόγο λογισμικό. Μέσα σε αυτές και να κάνω compile το λογισμικό για να μπορώ να εγκατασταθούν κάποια extension που έχουν βγει. Στο άρθρο αυτό θα δείξω πως να κάνετε compile το oommf1.2a5. Η συγκεκριμένη έκδοση ακόμα δεν υποστιρήζει κάποιο extension αλλά καλό είναι να αρχίζουμε από κάπου ώστε να μάθουμε την διαδικασία και να μπορέσουμε αργότερα να επέμβουμε σε λιγότερο εύκολες προς εγκατάσταση εκδόσεις.
Για το project oommf μπορείτε να βρείτε περισσότερα στοιχεία εδώ: http://math.nist.gov/oommf/
Τον πηγαίο κώδικα για το compile, που χρησιμοποίησα και εγώ, μπορείτε να βρείτε εδώ: http://math.nist.gov/oommf/software-12.html (source-only)
Εγκατάσταση Tcl/Tk:
Για να ξεκινήσουμε πρέπει να έχουμε στο σύστημα μας το *πακέτο* Tcl/Tk. Εγώ χρησιμοποίησα Tcl και Tk έκδοση 8.5. Για να τις εγκαταστήσουμε δίνουμε στο τερματικό:
sudo apt-get install tcl8.5 tk8.5 tcl8.5-dev tk8.5-dev
Config
► Unzip
(Το παρακάτω βήμα μπορεί να γίνει και από το γραφικό περιβάλλον του linux mint με τον προ εγκατεστημένο Archive Manager)
Πλοηγούμαστε από ένα τερματικό στον κατάλογο που έχουμε κατεβάσει τον πηγαίο κώδικα σε μορφή .tar.gz.
Δίνοντας την παρακάτω εντολή το κάνουμε unzip (όπου oommf.tar.gz το όνομα και η κατάληξη του αρχείου που κατεβάσατε):
tar -zxvf oommf.tar.gz
► Links
Το oommf εξ ορισμού θα κοιτάξει για δύο αρχείο με όνομα tclConfig.sh και tkConfig.sh στον φάκελο κάτω από το /usr/lib/. Κατά την εγκατάσταση ,τουλάχιστον για το linux mint 15, αυτά τα δύο αρχεία δημιουργούνται κάτω από τους καταλόγους /usr/lib/i386-linux-gnu/tcl8.5/ και /usr/lib/i386-linux-gnu/tk8.5/ αντίστοιχα.
Για να τα δει το oommf θα δημιουργήσουμε δύο *συντομεύσεις* από τον πρώτο κατάλογο που ανέφερα ποιο πάνω για τους άλλους δύο με τις εξής εντολές:
ln -s /usr/lib/tclConfig.sh /usr/lib/i386-linux-gnu/tcl8.5/tclConfig.sh
ln -s /usr/lib/tkConfig.sh /usr/lib/i386-linux-gnu/tk8.5/tkConfig.sh
► Check
Μπορούμε να δούμε αν το configuration του υπολογιστή μας είναι όντως σωστό δίνοντας την παρακάτω εντολή μέσα από το τερματικό στον φάκελο με τον πηγαίο κώδικα του oommf.
tclsh oommf.tcl +platform
Ένα παράδειγμα εξόδου είναι αυτό από το δικό μου linux σύστημα:
oommf.tcl 1.2.0.5 info:
OOMMF release 1.2.0.5, snapshot 2012.09.28
Platform Name: lintel
Tcl name for OS: Linux 3.8.0-32-generic
C compiler: /usr/bin/g
Version string: g (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3
Shell details ---
tclsh (running): /usr/bin/tclsh
(links to /etc/alternatives/tclsh)
(links to /usr/bin/tclsh8.5)
--> Version 8.5.13, 32 bit, threaded
tclsh (OOMMF): /usr/bin/tclsh8.5
--> Version 8.5.13, 32 bit, threaded
filtersh: /home/spiros/Desktop/oommf-1.2a5/app/omfsh/lintel/filtersh
--> Version 8.5.13, 32 bit, threaded
tclConfig.sh: /usr/lib/tclConfig.sh
--> Version 8.5.13
wish (OOMMF): /usr/bin/wish8.5
--> Version 8.5.13, Tk 8.5.11, 32 bit, threaded
tkConfig.sh: /usr/lib/tkConfig.sh
--> Tk Version 8.5.11
OOMMF threads: Yes
Default thread count: 2
NUMA support: No
OOMMF API index: 20120928
Temp file directory: /tmp
Compile
Τέλος κάνουμε το compile του κώδικα μας. Με το τερματικό μας πηγαίνουμε στο φάκελο του κώδικα και δίνουμε τις παρακάτω εντολές.
tclsh oommf.tcl pimake distclean
tclsh oommf.tcl pimake
Το compile, ανάλογα τα δικαιώματα του φακέλου, μπορεί να πρέπει να εκτελεστεί με δικαιώματα root μέσω sudo.
Για να αλλάξουμε τα δικαιώματα όλων των αρχείων και φακέλων στον κατάλογο κάτω από το oommf μπορούμε να χρησιμοποιήσουμε το παρακάτω script:(θα πρέπει να εκτελεστεί και δικαιώματα διαχειριστή)
Για αρχεία:
find ./ -type f -exec chmod 770 {}\;
Για φακέλους:
find ./ -type d -exec chmod 770 {}\;
ΠΡΟΣΟΧΗ! Τα παραπάνω δικαιώματα μπορεί να είναι επικίνδυνα για την ασφάλεια του συστήματος. Δεν προτείνονται. Επιπλέον προσοχή κάτω από ποιο κατάλογο εκτελούμε το script.
Αν τα αρχεία, tclConfig.sh – tkConfig.sh, στο σύστημα σας βρίσκονται σε κάποιο άλλο κατάλογο και δεν μπορείτε να τα βρείτε χρησιμοποιήστε το παρακάτω script.
find / -name "tclConfig.sh" 2>/dev/null
find / -name "tkConfig.sh" 2>/dev/null
Αν θέλουμε το script να ψάξει και σε αρχεία που δεν έχουμε πρόσβαση ως απλός χρήστης μπορούμε να το εκτελέσουμε και σαν διαχειριστές.
Όλα τα παραπάνω δοκιμάστηκαν από τον γραφών κατά τη διάρκεια της συγγραφής του άρθρου. Δεν μιλάμε για τα 131072 compile και δοκιμές που μου πήρε..