Σε προηγούμενο άρθρο, ο mpampis μας έδειξε πως να βάλουμε το 64μπιτο Flash στο Linux μηχάνημά μας. Εδώ θα δούμε πως να το φτιάξουμε.
Σε ορισμένες διανομές οι οποίες συνηθίζουν να αναβαθμίζονται πιο σύντομα, η glibc (κοινές βιβλιοθήκες για τη γλώσσα προγραμματισμού C όπου γράφονται και τα περισσότερα προγράμματα) πέρασε σε μια έκδοση πάνω από την 2.12.90-3, η οποία και “φτιάχνει” ένα θέμα με τη συνάρτηση memcpy. Το πρόβλημα το οποίο δημιουργείται στη χρήση του από το Flash είναι να παράγεται ακατανόητος ήχος όταν βλέπουμε video με τη χρήση του (έχει επίσης αναφερθεί και ένα πρόβλημα με το plugin του gstreamer libgstflump3dec, που μπορεί επίσης να λυθεί με τον ίδιο τρόπο).
Βέβαια το “φτιάχνει” παραπάνω είναι σε εισαγωγικά, μιας και το θέμα είναι ιδιαίτερα ακαδημαϊκό και έχει να κάνει με το αν πρέπει να λυθεί ένα bug με βάση την περιγραφή της συνάρτησης ή όχι… Για όσους έχουν όρεξη, μπορείτε να δείτε το flame στα comments του bug εδώ, πολλά από τα οποία έχουν ιδιαίτερη (διδακτική και ψυχαγωγική) αξία.
Το βασικό θέμα λοιπόν είναι ότι ενώ το πρόβλημα είναι γνωστό εδώ και καιρό, το μπαλλάκι πετιέται από τους developers του Linux στην Adobe και πίσω. Ευτυχώς υπάρχει workaround. Το ένα, το οποίο είναι ίσως και το καλύτερο, από τον Torvalds περιλαμβάνει την αντικατάσταση του “χαλασμένου” memcpy με μια συνάρτηση η οποία δουλεύει όπως και η παλαιότερη έκδοση της ίδιας συνάρτησης. Το δεύτερο αντικαθιστά κάθε κλήση της memcpy με μια κλήση της memmove η οποία και φαίνεται να δουλεύει χωρίς να δημιουργεί προβλήματα. Για την πρώτη λύση, δείτε το comment 38 ενώ για τη δεύτερη το comment 117. Τέλος, όσοι βαριούνται να ασχοληθούν, σας έχω και μια έκδοση του flash plugin έτοιμη για χρήση εδώ, την οποία αρχεί απλά να προσθέσετε στο φάκελο $HOME/.mozilla/plugins/.
Καλή χρήση!