Προς το περιεχόμενο

Fortran 95, Makefile, OpenMPI σε Windows


DarkOrion

Προτεινόμενες αναρτήσεις

Κατάλαβα καλά τι θέλεις, εξ ου και οι απαντήσεις μου.

 

Είχα κι εγώ μερικές φορές το ίδιο πρόβλημα.

Δυστυχώς απ όσο ξέρω κι από όσα έγραψα νωρίτερα ΔΕΝ γίνεται αν δεν έχει προβλεφθεί εξ αρχής

ή o compiler δεν είναι cross-platform. Πρέπει να ξαναστήσεις το project.

 

Να εξηγούμαστε : η δυσκολία έγκειται στις τυχόν ρυθμίσεις που απαιτείται να εισαχθούν στoν

compiler (διασύνδση αρχείων, ιεραρχία, διαδρομές κλπ).

Αν το project δεν έχει πολύπλοκα τέτοια πράγματα και είναι κύρια μια συλλογή των αρχείων και

δεν χρησιμοποιούνται επεκτάσεις του compiler στον κώδικα, ίσως μπορείς να το κάνεις σχετικά εύκολα.

Εξάλλου η fortran, συγκριτικά με την C/C++, είναι πολύ πιο στάνταρ μεταξύ των διαφόρων εκδόσεών της.

Αλλιώς ξέχνα το. Για projects αυτής της έκτασης, αν δεν έχει ληφθεί εξαρχής μέριμνα,

η μεταφορά τους από το ένα λειτουργικό στο άλλο είναι ολόκληρο project από μόνη της...

 

Όσο για το CMake, όπως ανάφερα εδώ δεν βοηθά σε τίποτε απολύτως.

 

-

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για να είμαι ειλικρινής φίλε Smirnov δεν πολυκατάλαβα γιατί δεν εξυπηρετεί το cmake στην συγκεκριμένη περίπτωση. Απλά θα αφιερώσει παραπάνω χρόνο για να φτιάξει μια crossplatform επίλυση του προβλήματός του.

 

Όπως και να έχει, το πιο εύκολο & γρήγορο που έχει να κάνει ο ts είναι να εγκαταστήσει στα Windows 7 το Cygwin, που του δίνει πλήρες Posix περιβάλλον, αλλά με Windows binaries. Αυτό ακριβώς που θέλει δηλαδή.

 

Διαλέγοντας τα κατάλληλα πακέτα κατά την εγκατάσταση (ή μετά) οι πιθανότητες είναι να κάνει ακριβώς ότι κάνει και στο Linux, μιας και το Cygwin στην ουσία είναι Linux port για Windows (με έξτρα δυνατότητες για Windows programming).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Να σου πω γιατί.

 

Το CMake είναι κατ' ουσίαν κατασκευή των "makefile".

Αντί να φτιάξεις makefiles π.χ. για τον codeblocks, φτιάχνεις τα cmakefiles που διαβάζονται από το CMake.

Τα cmakefiles μπορούν με το CMake να μετατραπούν στα makefiles οποιουδήποτε από τους γνωστούς

compilers (VS, codeblocks κλπ)

 

Τα cmakefiles όμως πρέπει να γραφούν εξαρχής.

To CMake μόνον παράγει makefiles για compilers, δεν διαβάζει έτοιμα κάποιου.

Αν έχεις τα makefiles για κάποιον compiler, δεν ωφελεί σε κάτι αφού τα cmakefiles πρέπει να γραφούν.

Και δεν είναι καθόλου εύκολο αν πρόκειται για κάτι μεγάλο με πλήθος ρυθμίσεων και με πολύπλοκη ιεραρχία.

Ο φίλος εδώ δεν ξέρει - ούτε τον ενδιαφέρει - τι και πώς συνδέονται τα αρχεία, τι ρυθμίσεις απαιτούν κλπ.

Μόνον το - ει δυνατόν αυτόματο - στήσιμο του project και το compile.

Αν είχε γίνει εξαρχής θα ήταν εντάξει, αλλά τώρα δεν. Πρέπει να αναλάβει κάποιος(-οι) ειδικά αυτή την δουλειά..

 

Αφού o t.s. θέλει μόνο compile ϊσως αυτό που προτείνεις (Cygwin) να είναι μια πρόσφορη επιλογή για την περίπτωση.

 

-

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Λοιπόν' date=' να εξηγήσω μερικά πράγματα:

 

1) Δεν με νοιάζει να κάνω develop τον κώδικα σε win, μόνο compile.

 

2)Ο κώδικας εξελίσσεται από καμιά 200αριά άτομα εδώ και 30 χρόνια, ούτε ξέρω την δομή του, ούτε περισσότερες πληροφορίες για το τι κάνει το κάθε αρχείο. ΑΝ χρειαστεί να γράψω κάτι, θα είναι για ένα ή δύο αρχεία και θα μου πούνε αυτοί που ξέρουν καλύτερα τι και πώς.

 

3) Ο κώδικας περιλαμβάνει γύρω στα 220 αρχεία κώδικα και το makefile δείχνει πώς και ποιά πρέπει να γίνουν compile ώστε να δώσει κάθε φορά το εκτελέσιμο ανάλογα με την περίπτωση που θέλουμε να τρέξει.

 

4) Δεν έχω χρόνο να μάθω πολύπλοκα προγράμματα, γι αυτό έβαλα εξομειωτή στα win και δουλεύω έτσι, αλλά βλέπω πεσμένη απόδοση.

 

Με απλά λόγια, ψάχνω έναν έυκολο τρόπο να κάνω compile έναν υπάρχοντα κώδικα. Παίζει κάτι τετοιο??[/quote']

 

Κανε αυτο που πρότεινε ο migf1, βάλε το Cygwin, εγκατέστησε τα ίδια packages, και κανε το compilation εκει. Αν ποτε χρειαστεί να υπάρξει automation στο build/testing/packaging του κώδικα σας (σε περίπτωση που δεν έχετε), μια καλη λύση είναι το cmake. Μια πιθανή επίσης λύση είναι το http://www.scons.org/ και τα παράγωγα του, για το οποίο δεν έχω άποψη.

 

Sent from my iPad using Insomnia

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Να σου πω γιατί

....

Βασικά το cmake κάνει πολλά. Αυτό που εννοούσα λέγοντας πως θα το είχε φτιάξει τόσες μέρες, ήταν να κρατήσει τα υπάρχοντα rules που έχει ήδη για το Linux και να προσθέσει μέσω conditional directives και τα rules για όποιον Windows compiler επιθυμεί.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ερώτηση: Το OpenMPI μπαίνει σε cygwin?? Προσπαθώ αλλά χωρίς αποτέλεσμα... Το gfortran το εγκατέστησα, αλλά η διαδικασία που περιγράφει στο site για εγκατάσταση openmpi αποτυγχάνει...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...