Arrivano gli Universal Binary su Linux?

di |
logomacitynet696wide

Una delle caratteristiche più interessanti delle ultime versioni di Mac OS X è la disponibilità  di applicazioni “Universal Binary”, in altre parole, programmi in grado di funzionare nativamente sia sui Mac con CPU Intel, sia su quelli più vecchi con CPU PowerPC. Ora qualcuno propone la creazione di un sistema simile per creare applicazioni binarie multipiattaforma anche su Linux.

Una delle caratteristiche più interessanti delle ultime versioni di Mac OS X è la disponibilità  di applicazioni “Universal Binary”, in altre parole, programmi in grado di funzionare nativamente sia sui Mac con CPU Intel, sia su quelli più vecchi con CPU PowerPC. La compilazione di applicazioni in questo formato sviluppato da Apple nel 2005, benché tipicamente produce programmi che occupano più spazio rispetto ad applicazioni specifiche solo per Intel o solo per PowerPC, è geniale e rende più semplice la distribuzione di software, indipendentemente da quale CPU vi sia nella macchina dell’utente finale.

L’idea pare aver ora stuzzicato l’ambiente Linux: Ryan Gordon, un professionista nel porting di giochi, ha creato il progetto FatELF con il quale ha intenzione di creare un sistema che consenta la distribuzione di applicazioni universal binary con finalità  simili a quanto accade in Mac OS X.

Il formato FatELF consente l’incorporazione di file binari per architetture diverse in un unico file. Nei piani di Ryan l’idea è di spingere il progetto fino a consentire la distribuzione di applicazioni in grado di funzionare su Solaris e FreeBSD.

Nella home page del progetto si parla anche della possibilità  di creare un DVD con un installer Linux Universal Binary in grado di funzionare su CPU x86 e x86_64 (ma anche PowerPC, MIPS e altre ancora), integrando una singola libreria condivisa e i driver per il kernel con supporto per più architetture. Dal punto di vista tecnico, Ryan ha creato le specifiche dei file FatELF e le patch per il kernel Linux, file, binutils e gdb. Mancano ancora le patch per i module-init-tools, glibc ed elfutil. Uno degli obiettivi primari è per il momento il supporto per piattaforme non-Linux. Sul sito di Ryan Gordon è disponibile una prova concettuale del sistema (una versione completa di Ubuntu 9.04 disponibile sotto forma di macchina virtuale per vmware).

[A cura di Mauro Notarianni]