mercoledì 8 marzo 2017

GCC su SCO OpenServer 5.0.7

E' passato un pò di tempo dall'ultima volta che ho scritto qualche programma in C su questo sistema operativo, abbastanza da non ricordarmi che non compilavo di certo con il GCC.
Infatti al primo tentativo di compilazione di un semplice programma ottengo un errore di undefined symbol per la funzione _fini in /usr/ccs/lib/ctr1.o, e la cosa mi ha mandato in panico perchè ero certo di avere già compilato programmi scritti in C in precedenza.
Per riepilogare il sistema operativo è aggiornato con il maintenance pack 5, l'ultimo disponibile, e il compilatore GCC arriva dal CD Skunkware del 2000, una vecchia versione 2.95.2. Ma sul sistema ho anche installato il compilatore C nativo di SCO ed è quello con cui ho compilato i vecchi programmi, lo si vede dal fatto che gli eseguibili sono in formato COFF mentre il GCC gli genera in formato ELF.
Quindi problema risolto ? No, perchè ora volevo compilare i sorgenti della vecchia e mitica libreria Turbo Vision, quella usata dagli IDE Borland in ambiente DOS. Questi sorgenti sono compilabili anche su linux e bsd quindi probabilmente anche sotto SCO con il GCC dovrei avere più probabilità di successo che non con il compilatore nativo.
Fortunatamente sul sito FTP di SCO si trova una cartella con i files del pacchetto GNU Tools 5.0.7 che dovrebbero fare al caso mio.
Sono una serie di files in formato VOL, il formato dei pacchetti specifico per SCO OpenServer, ma tentando di installare il pacchetto il sistema si lamenta che devo avere precedentemente installato il maintenance pack 1, che non ho visto che ho il 5 che ingloba tutti i precedenti.
Anche in questo caso c'è una soluzione piuttosto semplice, basta creare un certo file prima di installare attraverso scoadmin software :
touch /tmp/gnutools.nocheck
in questo modo non viene eseguito il controllo di eventuali dipendenze software e il pacchetto si installa, ovviamente il nome gnutools vale per questo specifico pacchetto non in senso generale.
Adesso ho il compilatore GNU C in versione 2.95.3, quindi non molto più recente dell'altro, ma almeno compila senza errori.
Questo pacchetto, poi si installa in /usr/gnu/bin a differenza di quello installato dal CD Skunkware che si trova in /usr/local/bin e che comunque non serve a nulla e andrò a rimuovere.
Adesso che ho il compilatore GNU C ( e C++ ) funzionanti su SCO, anche se in una versione molto vecchia, vediamo di compilare questa libreria Turbo Vision. Ma ve la ricordate ? Non è meravigliosa ? Che nostalgia, che tempi !!!



Nessun commento:

Posta un commento