Newsgroup: it.comp.os.linux.software
Titolo: Evince senza gnome

Vorrei installare il pdf viewer Evince.
Sono su slackware-12.1, non uso Gnome.
Vorrei riuscire a compilarmi evince senza la necessit� di troppa
roba di gnome, in modo che funzioni anche su altri ambienti, nel
mio caso wmii come window manager.
Il fatto � che � pi� complicato di quanto pensassi.
Ho trovato uno slackbuild, su 
slackbuilds.org
, ma � per
slackware-13.0.
Tuttavia ho provato a farlo girare, installare alcuni pacchetti
che il configure rilevava come necessari e mancanti.
Ma mi sono fermato quando salta fuori:
=====================================================
checking for LIBDOCUMENT... configure: error: Package
requirements (gtk+-2.0 >= 2.12.0 gio-2.0 >= 2.18.0) were not met:
No package 'gio-2.0' found
Consider adjusting the PKG_CONFIG_PATH environment variable if
you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables
LIBDOCUMENT_CFLAGS
and LIBDOCUMENT_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
=============================================
Mi dareste una mano, a capire dove sta il problema, od
eventualmente ad indirizzarmi verso un metodo alternativo per
compilare ed installare Evince...?
Grazie in anticipo.  :-)

 Evince...?
Ti manca la libgio-2.0 e i relativi include file.
In Debian e` tutto dentro libglib-2.0-dev, ma in slackware non saprei.
Bye.

 In Debian e` tutto dentro libglib-2.0-dev, ma in slackware non saprei.
Ora, in slackware il pacchetto contente tale libreria � glib2:
/var/log/packages/glib2-2.14.6-i486-5_slack12.1
Il problema sta proprio, non tanto nella mancanza di tale
pacchetto, ma nella versione troppo bassa.
In parole povere, potrei rimediare uno slackbuild e crare il
pacchetto per slackware della versione di glib2 necessaria.
Ma, c'� un ma...
Tale libreria, ho il sospetto che sia piuttosto correlata al
funzionamento del sistema....ricordo che aggiornare le glibc per
esempio � un'operazione piuttosto rischiosa, non si tratta del
solito pacchetto, ma di qualcosa di pi� importante.
Ora mi chiedo:
se aggiorno la glib2 alla versione della 12.2 per esempio che �
la 2.16.6 patchata da volkerding:
ftp://ftp.slackware.com/pub/slackware/slackware-12.2/patches/source/glib2/
Cosa succede? Pu� essere un'operazione che va a modificare
in modo scorretto il comportamento di altre librerie importanti?
Va b� intanto provo la compilazione via slackbuild, se avete
qualche risposta � ben accetta ovviamente! :-D

 qualche risposta � ben accetta ovviamente! :-D
Ho sbagliato, la versione 2.16.6 � ancora troppo bassa, serve la
2.18.
Alla fine ho creato il pacchetto e l'ho installata.
Ora il configura viene passato senza intoppi!
Per� ottengo un errore durante il make eccone la parte finale:
=====
[...]
grep: /usr/lib/
libjpeg.la
: No such file or directory
/bin/sed: can't read /usr/lib/
libjpeg.la
: No such file or
directory
libtool: link: `/usr/lib/
libjpeg.la
' is not a valid libtool
archive
make[3]: *** [
libdjvudocument.la
] Error 1
make[3]: Leaving directory `/tmp/SBo/evince-2.26.2/backend/djvu'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/SBo/evince-2.26.2/backend'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/SBo/evince-2.26.2'
make: *** [all] Error 2
=======================
Se avete idee...

 Se avete idee...
Errore rognoso da capire e da risolvere (anche in modo un po'
sporco).
Il tutto nasce dall'assenza del file /usr/lib/
libjpeg.la
 che a
quanto dice google, non � previsto in slackware...anche nel mio
sistema risulta assente nonostante siano installate le librerie
libjpeg (/usr/lib/libjpeg.a /usr/lib/libjpeg.so.X).
Perch� serve?
Tale file viene in qualche modo utilizzato da un'altra libreria:
libdjvu..qualcosa. Nel mio caso avevo installato libdjvulibre.
Che comprendeva tra i vari files anche /usr/lib/
libdjvulibre.la
.
Questo file richiamava al suo interno alcune altre librerie tra
cui proprio il file 
libjpeg.la
, che � assente sul mio sistema.
Sempre via google ho trovato un problema analogo in cui una certa
libreria richiamava il file 
libjpeg.la
, la avevano risolto
proprio editando il file /usr/lib/
pippo.la
 sostituendovi
"-libjpeg" a "
libjpeg.la
". E cos� ho fatto io:
== /usr/lib/
libdjvulibre.la
 ====================================
# Libraries that this one depends upon.
#dependency_libs=' /usr/lib/
libjpeg.la
 -lpthread
/usr/lib/libstdc++.la -L/usr/i486-slackware-linux/bin
-L/usr/i486-slackware-li
nux/lib'
# patch per compilare evince
dependency_libs=' -libjpeg -lpthread /usr/lib/libstdc++.la
-L/usr/i486-slackware-linux/bin -L/usr/i486-slackware-linux/lib'
================================================================
Provando a ricompilare sta volta ha funzionato e il pacchetto
pare installarsi correttamente:
evince --version
GNOME Document Viewer 2.26.2
Riesco anche a lanciarlo normalmente, si apre la finestra del
programma ecc ecc.
Ma...
Ho provato ad aprire un pdf, quindi faccio, ctrl-O, si apre il
"filemanager" di navigazione tra le direcory, accedo alla dir dei
documenti dove sono presenti dei *.pdf. E nel piccolo navigatore
� selezionato "All Documents" quindi i file pdf dovrebbe
mostrarmeli nella directory dei documenti.
E invece non sembrano esserci pdf.
Seleziono allora "All Files" ed effettivamente compaiono i vari
pdf che sono presenti in quela dir.
V� b�, provo ad aprirne uno:
Compare un cartello con:
-----------------------
Unable to open document
File type application/octet-stream type
(application/octet-stream) is not supported
-------------------------------------------
Insomma evince non mi apre i pdf....
Lanciandolo da console dice:
$ evince
** (evince:8015): WARNING **: Failed to create dbus proxy for
org.gnome.SettingsDaemon: Could not get owner of name
'org.gnome.SettingsDaemon': no such name
Booo...
Potrebbe essere che la versione che ho installato per funzionare
correttamente abbia bisogno di qualche pezzo di gnome.
Probabilmente la versione evince-gtk disponibile su debian non �
compilata allo stesso modo...
Se avete idee, sono tutto orecchi.

 Alla fine ho creato il pacchetto e l'ho installata.
Effetti collaterali riscontrati:
epdfview, altro programma per visualizzare i pdf, crasha.
Perch�?
Molto probabilmente, ma vado a naso, il discorso � questo:
slackware-12.1 prevede di default la versione glib2 seguente
glib2-2.14.6-i486-4
Attualmente poi Volkerding ha patchato tale software mettendo a
disposizione un pacchetto ulteriore. Ma non ne ha cambiato
versione, restiamo alla 2.14.6.
La libreria in questione � stata probabilmente utilizzata per
compilare tutto il software di slackware-12.2 che ne ha bisogno,
tra cui anche per esempio epdfview.
Quindi, torno sulla mia domanda, quali sono gli effetti
collaterali nel passaggio a glib2-2.18.
Bene, la risposta � che le applicazioni che ne fanno uso e non
sono state compilate con quella libreria posso diventare
instabili crashando e dando problemi.
Sintetizzo il problema:
- per compilare alcune applicazioni (evince-2.26.2) serve la
  versione 2.18 di glib2
- slackware-12.1 non la prevede ed � costruita con la versione
  2.14.6
- passando alla 2.18 su slack-12.1 si porta il sistema ad una
  inaccettabile instabilit�
- non passando all 2.18 non si riesce a compilare e a far
  funzionare versioni recenti di alcune applicazioni (vedi
  evince-2.26.2).
Soluzioni:
1- Downgrade della versione delle nuove applicazioni che si
   vogliono compilare ed utilizzare.
	In questo modo si mantiene unicamente la versione di default
	di glib2, nel mio caso la 2.14.6.
	Quindi se voglio evince, devo cercarmi una versione pi�
	vecchia della 2.26.2
2- Affianco se possibile la versione 2.18 di glib2 alla versione
   di default 2.14.
	Non so se sia possibile e tanto meno come fare, n� ho idea di
	come dire poi ad un software di utilizzare una versione o
	l'altra.
	Tempo addietro avevo letto cheera possibile far convivere due
	versioni di librerie importnti come, se non ricordo male, le
	glibc. Pu� essere che sia possibile fare lo stesso per le
	glib2.
NOTE:
Ricordo che per la compilazione di evince ero partito da uno
slackbuild scritto per slackware-13.0.
A conferma di quanto ipotizzato sopra, controllo che versione di
glib2 monta tale versione di slackware. Vediamo...
Ecco, come volevasi dimostrare dal repo di slack-13.0
[   ] glib2-2.18.4-i486-1.txz          28-Mar-2009 00:12  1.6M
Spero in qualche vostra spiegazione sull'argomento ed eventuali
consigli sulla soluzione pi� opportuna.
Di mio, non sono un inseguitore dell'ultima versione del
software, per� in questo caso, se si potesse far convivere le due
versioni di glib2 non sarebbe male.
Non so, magari potrei installare le nuove glib2 in
/opt/glib2-2.18.x/
E compilare evince-2.26.2 con quelle, facendolo poi funzionare
con quelle stesse. In questo modo, sempre che fosse possibile,
non sporcherei il sistema base di slackware-12.1, e allo stesso
tempo non rinuncerei alla sopracitata versione di evince.
Cosa ne dite?