[Pluto-help] Re: risposta alla tua questione di luglio : Problemi con librerie qt

Alessandro Mirone alessandro.mirone a wanadoo.fr
Sab 26 Ott 2002 22:41:39 CEST


Ops... mi coreggo :
 in realta LD_LIBRARY_PATH  e prioritario rispetto a ld.so.conf.
Pero l'occultamento funziona.

La vera ragione e' in realta che il qt3 e' cosi sofisticato 
che va a leggere ( se c'e') un file in $HOME/qt/...
dove ci sono un sacco di opzioni fra cui dei plugins
da caricare.

 ora, fatalita, la redhat7.X ti mette appunto tali opzioni
che puntano a /usr/lib/qt-3.0.3  e il misfatto 
e' compiuto... se le librerie linkate al tuo pacchetto
software non coincidono.
 
Con le versioni
future di qt (3.0.5) metteranno dei filtri per i plugins
le cui versioni non combaciano, questo non era pero il mio
caso, io linkavo verso delle libqt.3.0.2 da me compilate.

Quindi probabilment hai una maniera di cavartela a prezzo
minimo, fare sparire $HOME/.qt ...
Ma forse ancora meglio sarebbe  ( devo testarlo 
pero ) cambiare la variabile HOME a livello di wrapper
di lancio del software

   il meglio e' nemico del buono ...

    Alessandro


Alessandro Mirone wrote:
> 
> Ciao,
>  hai avuto risposta al tuo post di  luglio?
> La mia esperienza e che il pacchetto da te utilizzato
> si basa su una libreria qt propria al pacchetto che e' posta in
> repertorio a parte
> raggiungibile grazie alla variabile LD_LIBRARY_PATH (settata dallo
> script di avvio
> del software).
> 
> Ho havuto un problema identico con un software da me distribuito
> e che si impastava miserabilmente sulla redhat7.3.
> In effetti ho scoperto che nel file
> /etc/ld.so.conf
> e' definito il cammino di accesso a /usr/lib/qt-3.0.3
> il quale precede prioritariamente quello da me augurato
> con LD_LIBRARY_PATH(che definisco al lancio del software).
> A questo punto le soluzioni sono le seguenti
> 
> A scelta:
> 
>   -- occultare discretamente /usr/lib/qt-3.0.3
>      Questa soluzione ha il merito di funzionare (testato)
>      ma ti impasta poi il KDE della distribuzione linux.
> 
>   -- Togliere il cammino da /etc/ld.so.conf e rimetterlo
>      nel bashrc come LD_LIBRARY_PATH.
>       Il tuo software lo avvolgi poi in uno script
>      che fara scomparire il qt-3.0.3  prima
>    di lanciare il tuo quanta.
>      Questo approccio mi sembra piu elegante. Non l'ho testato
>     , pero richiede sempre di ciappinare.
> 
>   -- terza possibilita. Ricompilare il software senza
>       LD_LIBRARY_PATH ma linkando tutto con
>      l'opzione -rpath che e' inossidabile.
> 
>     In effetti ci avrei dovuto pensare prima, tra l'altro
>    avevo letto da qualche parte che l'uso sistematico di LD_LIBRARY_PATH
>    e' una merda... ma si sa che la pigrizia ha sempre il sopravvento
> 
> Spero che cio possa aiutarti
> 
> ciao
> 
>     Alessandro MIRONE
> 
> X---------------------------------------------------------------X
> Tu scrivesti
> 
> Salve,
> ho installato un editor HTML (Quanta Gold) sulla mia red hat 7.3 con
> KDE3.
> Se lo lancio come utente root, non ci sono problemi, se provo a
> lanciarlo con
> un altro utente la shell mi risponde:
> "QPaintdevice:  Must construct a QApplication before a QPaintDevice".
> Ho provato a vedere se ci sono file di configurazione particolari e a
> configurare le qt attraverso qtconfig ma senza soluzione.
> A cosa è dovuto il problema? Come posso risolverlo? Perché con il KDE2
> non
> succedeva?
> Grazie a chi riuscirà a darmi una risposta.
> Carlo



More information about the pluto-help mailing list