[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