Η έκδοση του oommf 1.2a3 μας δίνει την δυνατότητα να εγκαταστήσουμε 3 εκ των Oxs Extension Modules. Τα extensions αυτά μπορούμε να τα βρούμε στη σελίδα του oommf και συγκεκριμένα εδώ: http://math.nist.gov/oommf/contrib/oxsext/oxsext.html

Η εγκατάσταση των Tcl/Tk μένει ως έχει από το άλλο post, εκτός από μια επεμβασούλα.

Το oommf1.2a3 κοιτάει στον φάκελο /usr/include για αρχεία όπως το tk.h tcl.h κ.α. Αυτά τα αρχεία υπάρχουν μέσα στο φάκελο /usr/include/tcl8.5/. Αυτό που έχουμε να κάνουμε είναι είτε να αντιγράψουμε όλα τα αρχεία στον πάνω φάκελο είτε να δημιουργήσουμε *συντομεύσεις*.

Επέλεξα για κάποιο λόγο το πρώτο. Μεταβαίνουμε στον φάκελο /usr/include/tcl8.5/ και δίνουμε(ως διαχειριστές – sudo):

cp -R * ../.

Θα χρειαστούμε:

Το oommf1.2a3 : http://math.nist.gov/oommf/software-12.html (source-only)

Το αρχείο evoc.cc: http://math.nist.gov/oommf/software-patchsets/oommf12a3/evoc.cc-20021119 (οδηγίες παρακάτω)

Το αρχείο oc-config-tcl85-20110511.patch: http://math.nist.gov/oommf/software-patchsets/oommf12a3/oc-config-tcl85-20110511.patch (οδηγίες παρακάτω)

Εγκατάσταση:

Κάνουμε αποσυμπίεση το αρχείο που κατεβάσαμε όπως είπαμε και στο προηγούμενο post.

Αφού είμαστε με το τερματικό μας στον φάκελο του oommf δίνουμε:

wget http://math.nist.gov/oommf/software-patchsets/oommf12a3/evoc.cc-20021119 -O pkg/nb/evoc.cc

Με την παραπάνω εντολή παίρνουμε αυτόματα το αρχείο από το site του project και το εναποθέτουμε κάτω από το φάκελο του oommf/pkg/nb με το όνομα evoc.cc. Αν δεν έχουμε το wget μπορούμε απλά να πάμε στο link που δίνεται παραπάνω, να αντιγράψουμε τα περιεχόμενα σε ένα άδειο αρχείο, να το μετονομάσουμε σε evoc.cc και τέλος να το βάλουμε κάτω από τον κατάλογο pkg/nb του oommf.(αντικαθιστούμε το παλιό αρχείο)

Επιπλέον πρέπει να βάλουμε ένα patch για να μην μας βγάζει ένα μήνυμα λάθους για λάθος version του Tcl και του Tk. Από τον κεντρικό φάκελο του Oommf δίνουμε:

wget http://math.nist.gov/oommf/software-patchsets/oommf12a3/oc-config-tcl85-20110511.patch -O ./patch

Και στη συνέχεια:

patch -p1 < patch

Τέλος κάνουμε το compile όπως φαίνεται στην παρακάτω γραμμή:

tclsh oommf.tcl pimake -i

Το -i στο τέλος αδιαφορεί για τα λάθη που θα προκύψουν κατά το compile. Έχουν ενημερωθεί οι developer και αναμένω απάντηση.


Συγκεκριμένα μας δίνει τα παρακάτω προβλήματα:

app/oxs/base/mesh.cc:64:31 'atoi' was not declared in this scope
app/oxs/ext/imageatlas.cc:100:51 'strtoul' was not declared in this scope
app/oxs/rectangularmesh.cc:271:31 'atoi' was not declared in this scope

G++ Errors – Not Found:
lintel/mesh.o
lintel.imageatlas.o
lintel/rectangularmesh.o
lintel/oxs not executable