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 !!!



venerdì 3 marzo 2017

SheevaPlug e chiavette USB

Il mio SheevaPlug ha ormai parecchi anni sul groppone e resta accesso 24 ore al giorno tutti i giorni e negli anni ha avuto più di un problema.
Una volta è saltato l'alimentatore e lo ho dovuto sostituire, poi la memoria flash interna ha cominciato a dare problemi per cui non era più possibile usarla come sistema di avvio e quindi ho installato e configurato Debian da chiavetta USB.
All'inizio era una chiavetta Kingston da 32GB, una di quelle "nano", ma dopo un annetto tutto d'un tratto non riesco più a collegarmi allo Sheeva e scopro che il problema è la chiavetta, completamente andata, non è stato più possibile nemmeno formattarla ... da buttare.
Ho sostituito la chiavetta con una identica ma da 16GB, reinstallato tutto e oggi mi ritrovo nelle stesse identiche condizioni, forse non è nemmeno passato un anno e all'improvviso non funziona più il collegamento .... il motivo sempre lo stesso la chiavetta è inutilizzabile.
E' vero che il server(ino) è sempre acceso ma è anche vero che lo uso solo per ftp/torrent e poco altro .... insomma non è che lo stresso poi molto per cui che si siano sputt.... due chiavette USB in pochi anni mi secca un pò, ora non voglio rischiare nuovamente con un altra chiavetta, ma usare un disco IDE da collegare via USB non mi sembra una grande soluzione, anche se fattibile.
Il dubbio è che l'alimentatore non regga bene, un disco meccanico IDE poco o tanto consuma e sempre di più che una chiavetta USB.
Ecco cosa ho fatto, ho un adattatore da Compact Flash a IDE e ho installato una schedina CF da 16GB sulla quale ho ripristinato una copia di backup di Debian dell'ultima chiavetta USB, giusto per non reinstallare tutto da zero.
Ho messo il tutto un un case USB per dischi da 2,5 pollici e lo ho attaccato allo SheevaPlug, quindi adesso il server si avvia sempre da USB ma sfruttando una CF che spero duri di più delle chiavette USB.
In questo modo ho recuperato dei "pezzi" di hardware che avevo senza fare ulteriori spese .... anche perchè non sono molto ottimista riguardo alla durata e affidabilità di questa soluzione.
Forse si sta avvicinando il momento di dismettere lo SheevaPlug e passare ad un RaspBerry.