computeras13 Δημοσ. 16 Ιουλίου 2010 Share Δημοσ. 16 Ιουλίου 2010 Καλησπέρα σε όλους, αυτόν τον καιρό κάνω την πτυχιακή μου πάνω στην προσομοίωση Wimax δικτύων με την χρήση του ns. Προσπαθώ λοιπόν να περάσω τα διάφορα plugin για να τα δοκιμάσω. Έχω όμως ένα πρόβλημα κατά την διαδικασία εγκατάστασης του ns 2.29.3 allinone (δεν είναι η τελευταία έκδοση αλλά με αυτή δουλεύει το plugin που θέλω να δοκιμάσω). Συγκεκριμένα όταν γίνεται η εγκατάσταση μου εμφανίζεται σφάλμα όταν προσπαθεί να κάνει make το Tclcl1.17. Αρχικά το σφάλμα που μου εμφάνιζε ήταν το ακόλουθο. >Tcl.cc: In member function ‘void Tcl::eval(char*)’: Tcl.cc:182: warning: deprecated conversion from string constant to ‘char*’ Tcl.cc: In member function ‘int TclObject::traceVar(const char*, TclObject*)’: Tcl.cc:421: warning: deprecated conversion from string constant to ‘char*’ Tcl.cc: In static member function ‘static int TclClass::create_shadow(void*, Tcl_Interp*, int, const char**)’: Tcl.cc:509: warning: deprecated conversion from string constant to ‘char*’ Tcl.cc:511: warning: deprecated conversion from string constant to ‘char*’ Tcl.cc: In static member function ‘static int TclClass::dispatch_instvar(void*, Tcl_Interp*, int, const char**)’: Tcl.cc:566: error: invalid conversion from ‘const char*’ to ‘char*’ Tcl.cc:571: warning: deprecated conversion from string constant to ‘char*’ Tcl.cc: In member function ‘virtual void TclClass::bind()’: Tcl.cc:603: warning: deprecated conversion from string constant to ‘char*’ Tcl.cc:605: warning: deprecated conversion from string constant to ‘char*’ make: *** [Tcl.o] Error 1 tclcl-1.17 make failed! Exiting ... Βρήκα κάτι που με βοήθησε να μειώσω τα σφάλματα. Πρόσθεσα στο Makefile.in στην γραμμή CCOPT το "-Wno-write-strings". Τα σφάλματα τώρα μειώθηκαν αλλά δεν εξαφανίστηκαν. Έχουν ως εξής. >Tcl.cc: In static member function ‘static int TclClass::dispatch_instvar(void*, Tcl_Interp*, int, const char**)’: Tcl.cc:566: error: invalid conversion from ‘const char*’ to ‘char*’ make: *** [Tcl.o] Error 1 tclcl-1.17 make failed! Exiting ... Μπορεί κανείς να με βοηθήσει να ξεπεράσω αυτό το πρόβλημα; Έχω φάει κόλλημα και δεν μπορώ να βρω λύση για να το ξεπεράσω. Ευχαριστώ εκ των προτέρων όποιον ασχοληθεί με το πρόβλημά μου. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
NullScan Δημοσ. 16 Ιουλίου 2010 Share Δημοσ. 16 Ιουλίου 2010 Αυτά που κατάφερες να εξαλείψεις δέν ήταν σφάλματα αλλά warnings του compiler για τη χρήση διάφορων μεταβλητών στον κώδικα, το error για το οποίο σταμάταγε η διαδικασία είναι το ίδιο και πρίν και μετά το option που προσέθεσες στον g++. Τέλος πάντων, θα έβαζα στοίχημα οτι χρησιμοποιείς πολύ καινούργιο compiler για την ηλικία του κώδικα που πάς να κάνεις build. Γιά κάνε ένα g++ -v και πές μας τί παίρνεις; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
computeras13 Δημοσ. 16 Ιουλίου 2010 Μέλος Share Δημοσ. 16 Ιουλίου 2010 Ναι έχεις δίκιο σε αυτό που λες για τα warnings. Η έκδοση της g++ που έχω είναι η 4.4.4. Είχε πάει και εμένα το μυαλό μου μήπως φταίει η g++ αλλά υπέθεσα πως θα έχει backwords compatibility (μάλλον κάνω λάθος;!). Οπότε η πρόταση είναι να κάνω downgrade στον compiler; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
NullScan Δημοσ. 16 Ιουλίου 2010 Share Δημοσ. 16 Ιουλίου 2010 Από g++ δέν ξέρω και πολλά, δεν γράφω C++ αλλά νομίζω πώς conversion από constant σε μή μεταβλητή το άφηνε να περάσει compiler της εποχής g++ 3.4... Ψάξε κάπου εκεί. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
computeras13 Δημοσ. 16 Ιουλίου 2010 Μέλος Share Δημοσ. 16 Ιουλίου 2010 Ούτε εγώ ασχολούμαι με c++ γι' αυτό και δεν ξέρω πολλά από τους compiler της. Θα ρίξω μια ματιά σε κανέναν παλαιότερο compiler (αυτόν που προτείνεις αρχικά) και βλέπουμε. Πάντως ένα patch που βρήκα δεν μου έκανε δουλειά (και αυτό σφάλμα έβγαλε xaxa). Αν κάποιος πάντως γνωρίζει κάτι περισσότερο επί του θέματος ας με διαφωτίσει γιατί πραγματικά έχω αρχίσει να μην την παλεύω με το συγκεκριμένο θέμα. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
NullScan Δημοσ. 16 Ιουλίου 2010 Share Δημοσ. 16 Ιουλίου 2010 Κοίτα, αυτό που πάει να κάνει ο κώδικας έγκειται στον πόσο αυστηρός είναι με την σύνταξη. Σίγουρα παλιότερες εκδόσεις του GNU compiler ήταν πιό χαλαρές, ενδεχομένως να υπάρχει και κάποιο option στον g++ που να το "κλείνει" το strict syntax check αλλά δέν το ξέρω. Βάλε κάποιον εκείνης της εποχής ίσως και λίγο πιό παλιάς. Δοκίμασε δηλαδή 3.4 και 3.3. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
computeras13 Δημοσ. 17 Ιουλίου 2010 Μέλος Share Δημοσ. 17 Ιουλίου 2010 Σε περίπτωση που κανείς αντιμετωπίσει το ίδιο πρόβλημα να πω πως κατάφερα να κάνω compile με την gcc-3.4 και κάνοντας casting στα σημεία που χτίπαγε ο κώδικας με το παραπάνω σφάλμα. Casting θα κάνετε ως εξής >const_cast<char*>(μεταβλητή) Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.