[PLUTO-help] Compilare vecchi programmi e driver canon [risolto]
f_sophia
f_sophia a libero.it
Mer 18 Gen 2006 00:47:39 CET
Ciao a tutti.
Tempo fa avevo postato riguardo alle opzioni di gcc o make utili nella
compilazione di vecchi programmi.
Era mia intenzione, infatti, compilare i driver della stampante (Canon
i250)... dato che i binari erano troppo "vetusti" per la nuova distro.
Purtroppo i sorgenti "sputavano" due righe di compilazione e poi si
arrenavano inesorabilmente contro un "all recursive error".
Dopo qualche prova... complice il trascorso periodo di feste, ho trovato la
soluzione, spiegata di seguito a vantaggio di chi ha problemi simili...
*** Soluzione ****
1) make -i (esclusivamente per la fase di studio).
E' un'opzione piuttosto utile, perche', invece di fermarsi all'errore, make
continua a compilare, permettendo di vedere se e come un errore si
ripresenta.
Altra sequenza magica e'... aclocal... automake -a... autoconf.
Tutto cio' mi e' servito per scoprire quanto segue...
2) Le librerie per canon i250
Studiando i README all'interno dei sorgenti, avevo notato la classica dicitura
"libreria pippo.xyz o superiore". Be'... cio' e' vero solo in parte!
E' vero per automake, autoconf, libm, libdl, libtiff, libpopt, gtk+-1 e (per
ora) libcups, NON lo e' per libglade, libxml.... e libpng, queste ultime solo
perche' le librerie CANON sono in forma pre-compilata (nel giurassico).
Tali librerie, nel mio caso, sono relative alla Slackware 8.x.
Per quanto riguarda le "esotiche" librerie richieste [libcnl* e libclbp*] sono
librerie CANON... e anche se nel caso della prima SAREBBERO disponibili i
sorgenti, di fatto non si trovano da nessuna parte!
La libclbp* (da quanto si deduce dallo stesso README) e' rilasciata solo in
forma di binari...
Questa scelta di "segregare" le librerie e' una grave violazione della la GPL
(licenza sotto la quale vengono rilasciati i driver) da parte dei
produttori... che avrebbero dovuto optare, invece, per una LGPL! :-(
3) Installare le librerie.
Le librerie "strettamente" CANON possono essere prelevate (con rpm-explode o
trasformandolo in un tgz-Slackware) dallo stesso pacchetto precompilato del
driver bjfilter. Copiare TUTTO il contenuto della cartella /usr/lib/
(sottocartelle comprese) e incollare nella /usr/lib del filesystem.
La libxml-1.x e la libglade-0.x non danno problemi di coesistenza con le loro
versioni piu' recenti, infatti creano cartelle separate per gli header e una
diversa dicitura nell'elenco delle librerie di sistema (non come le GTK+...
che, in tale registro, si sovrascrivono perche' usano tutte un generico
2.0... invece che di 2.2, 2.4, 2.6 etc...).
La libpng, invece, qualche problemino lo da!
Ad ogni libpng occorre la sua zlib... ed entrambe "maneggiano" sgradevolmente
con header e i link... creando problemi "insidiosi". Soluzione: installare le
vecchie librerie e poi reinstallare quelle in uso (sia libpng sia zlib).
4) Finalmente compila!
Sistemate le dipendenze... i tarball con i sorgenti possono essere scompattati
e compilati seguendo le istruzioni contenute nei rispettivi README.
L'ordine deve essere:bjfilter, printui, stsmon, bjcups e bjcupsmon.
Purtroppo... anzi... OVVIAMENTE... non tutto va liscio come dovrebbe!
La bjcupsmon-2.3 NON compila... per una banale (ma insidiosa) svista: mancano
i file "testo" AUTHORS e NEWS. Senza questi due file (anche vuoti) autogen.sh
(quando invoca automake) restituisce un bel "ERROR".
E' sufficiente crearli (ovviamente vuoti) con qualsiasi un editor di testo...
e tutto si risolve.
La bjcups-2.3-0 - invece - va compilata in due tempi. Prima entrare nella
sottocartella /libs... compilare... installare... lanciare ldconfig
[attenzione: se dimenticate di farlo... stranezze in vista!!!! ]... e poi
compilare il resto tornando al MAKEFILE principale.
Va da se' che dopo ogni singolo tarball compilato, va aggiornato l'elenco
delle librerie (con ldconfig), salvo utilizzare qualche utility per la
pachettizzazione.
A questo punto si puo' configurare la nuova stampante in CUPS...
** Conclusione **
Ho dovuto usare comunque le vecchie librerie, ma la compilazione dei driver ha
dato i suoi frutti: l'interfaccia grafica non e' piu' sgranata, i driver
(notoriamente "lenti") sono sensibilmente piu' reattivi, l'integrazione con
CUPS e' piu' efficiente (anche se non perfetta). Insomma... ne vale la pena.
Ciao a tutti.
F_Sophia
More information about the pluto-help
mailing list