timevault -- wrong αρχιτεκτονική

...εφαρμογές για οτιδήποτε άλλο

Συντονιστής: konnn

timevault -- wrong αρχιτεκτονική

Δημοσίευσηαπό nikosal » 29 Μαρ 2009, 19:20

Δοκίμασα να εγκαταστήσω την beta έκδοση του timevault, για την οποία διάβασα στο τελευταίο LF.

Το μοναδικό beta αρχείο της λίστας (https://launchpad.net/timevault/+download) όμως, μόλις πάει να ξεκινήσει ο installer βγάζει μήνυμα "λάθος αρχιτεκτονική i386" (έχω AMD64).

Καμιά πρόταση;
Desktop στο σπίτι: ubuntu 14.04 σε AMD Athlon II 435X3 (αναβάθμιση) με Samsung SSD 500GB
Desktop στην εργασία windows xp (δυστυχώς!)
Laptop: ubuntu 13.10 σε i3 (new install) με Samsung SSD 250GB
Netbook των τέκνων: lubuntu 13.10 σε Atom 450 (new install)
Smartphone: Android 4.1.2 Jelly Bean σε Samsung Nexus S
Tablet: Android 4.4.2 KitKat σε LG G pad 8.3
Άβαταρ μέλους
nikosal
Ubuntistas
Ubuntistas
 
Δημοσιεύσεις: 1536
Εγγραφή: 10 Μάιος 2008, 23:29
Τοποθεσία: Ερμούπολη
Εκτύπωση

Re: timevault -- wrong αρχιτεκτονική

Δημοσίευσηαπό sokoban4ever » 29 Μαρ 2009, 21:06

Το κατέβασα να δώ τι παίζει απο περιέργια αποσυμπίεσα το αρχείο deb
και είδα ότι στο φάκελο site-packages έχει κάποια pyc (precompiled python files). Όπως συχνά γίνεται...
Έψαξα λίγο με recursive grep στον κώδικα (π.χ grep -r 'os.' *) αλλά δεν μου φάνηκε τίποτα περιοριστικό ως προς την αρχιτεκτονική
οπότε αφου python είναι ο κώδικας όπου θέλει μπορεί να παίζει χωρίς αλλάγες ο ίδιος κώδικας ( γενικά)
Βέβαια δεν έκατσα να κοιτάξω γραμμή πρός γραμμή ...
Σκέφτηκα ότι αμα δεν παίξει τελικά μπορεί να είναι πιθανόν ότι τα modules να είναι precompiled από άλλη version της python.*
H python apo default κανει compilation σε byte-code στα modules εφώσον τα κάνεις import πρώτη φορά και δημιουργεί τα .pyc αρχεία.
Τo byte-code της python είναι portable μεταξύ πολλών αρχιτεκτονικών αλλά δεν είναι σίγουρα για την κάθε έκδοση της python
κάποιες εκδόσεις έχουν διαφορετικό byte-code format. (Είναι ένα 4 bytes string )

Για να δείς ποιό byte-code format έχει o interpreter σου δώσε στην python:
Κώδικας: Επιλογή όλων
>>> import imp
>>> imp.get_magic()

εμένα λέει
Κώδικας: Επιλογή όλων
'\xb3\xf2\r\n'

Οπότε στον δικό σου μηχάνημα αμα μείνουν μόνο τα py αρχεία(modules) όταν το τρέξεις θα δημιουργήσει
τα κατάλληλα pyc για την έκδοση της python που έχεις.



    Οπότε άμα δεν παίξει καθόλου είτε ο installer "νομίζει" οτι δεν παίζει σε x64
    είτε είναι τα pyc αρχεία σε byte-code που δεν θα "καταλαβαίνει"
    o interpreter σου

Λοιπόν προτείνω
1ον ) Δοκίμασε να βάλεις την --force-all ή την --force-architecture παράμετρο στο dpkg
2ον ) Δοκίμασε να διαγράψεις τα .pyc (η python θα "φτιάξει" μόνη της νέα) ,αλλιώς κάνε τα compile μόνο σου με το compileall module

Όπως και να έχει πρώτα φρόντισε να έχεις εγκατεσημένα τα dependencies


1ον δοκίμασε τα παρακάτω:

Κώδικας: Επιλογή όλων
sudo dpkg -i --force-architecture timevault.deb

ή
Κώδικας: Επιλογή όλων
sudo dpkg -i --force-all timevault.deb

Το --force-all μην το κάνεις αν δεν έχεις ok όλα τα dependencies (γιατί δεν θα "ασχοληθεί" απο μόνο του)
οπότε εγκατέστησε πρώτα όλα τα dependencies όπως και νά 'χει.

Το πρόβλημα σου είναι ότι ούτε καν εγκαθιστάται αλλά και στην περίπτωση που εγκατασταθεί αλλα δεν παίζει δοκίμασε και το 2ο
αλλλά προαιρετικά γιατί συνήθως δουλέυουν τα .pyc
2ον τρέξ'το αφου διαγράψεις όλα τα .pyc αρχεία που έχουν και αντίστοιχο όνομα αλλά με κατάλυξη .py ;)


*ενώ σημβαίνει να έχουν διαφορετικό byte-code format κάποιες εκδόσεις της python
δεν πρέπει συναντάτε συχνά διότι απο ότι ξέρω όλοι λίγο πολύ προσέχουν να είναι compatible.

Πές μου αν λειτούργησε τελικά
Θέλουμε και μπορούμε να έχουμε μια καλύτερη ζωή και όσο θα ζούμε θα προσπαθούμε να την αποκτήσουμε ακόμα και αν πεθάνουμε προσπαθώντας, και αν κάποια στιγμή λιγίσουμε έχουμε το επίπεδο να πούμε κουράστηκα λίγο να ,να ξαποστάσουμε , ώστε να συνεχίσουμε πάλι δυνατοί ξανά.

Μήνυμα με αγάπη και αληλλεγγύη σε όλους τους ανθρώπους από όλους τους λαούς , ιδίως του Ελληνικού.
Άβαταρ μέλους
sokoban4ever
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 2331
Εγγραφή: 13 Φεβ 2009, 02:22
Εκτύπωση


Επιστροφή στο Εφαρμογές Άλλες-Διάφορες