Newsgroup: it.comp.os.os2
Titolo: Uso di versioni diverse delle stesse librerie di varie app: alcune  considerazioni

Da alcuni anni sono di uso comune delle librerie portate dai sistemi
GNU*UX, tutte le nuove applicazioni portate da GNU*UX ne fanno uso a
seconda della necessità, tuttavia anche se applicazioni diverse fanno
uso delle stesse librerie, non è affatto detto che siano compilati per
far uso della medesima versione: questo a volte è rilevabile nella
rispettiva documentazione allegata, dove vengono indicati i requisiti
e le librerie comuni da usare ma non sempre queste vengono indicate
modo preciso.
 
Questo problema è abbastanza noto fin dai tempi delle prime versioni
dei browser della serie mozilla e si risolve con dei file di batch di
avvio, usando le direttive LIBPATHSTRICT E BEGINLIBPATH
 
o meglio ancora con RUN!
http://www.ecsoft2.org/run
 
 
Tuttavia l' espediente RUN! non sempre funziona, ad esempio se avvio
lucide con lucide!l, l' app NON si avvia, per cui in casi come questi
(rari ma esistenti) occorre necessariamente il classico file di batch.
 
Il numero delle librerie comuni, via via che prosegue il porting
dall'ambiente GNU-Linux, sta crescendo notevolmente e la situazione si
fa via via sempre più complicata, per cui a mio parere è bene ripetere
alcune avvertenze
 
Per esempio: 
Links e Alpine e altre QT App come QupZilla fanno uso di z.dll ma non
della medesima versione, 
Links e altre app come QPdfView condividono jpeg.dll ma NON della
medesima versione, 
 
cosicchè nel caso si fosse tentati di inserire nel libpath l' ultima
versione di una di queste librerie, si corre il rischio che alcune app
non funzionino correttamente o non funzionino affatto, per esempio:
 
z.dll: Links usa l' ultima versione ma se la condivido nel libpath,
altre app come QupZilla 1.8.9 smettono di funzionare, non si avviano
proprio
 
jpeg.dll: Links usa l' ultima versione disponibille ma se la condivido
nel libpath, altre app come Lucide (dipende dalla versione) potrebbero
NON funzionare, certamente l' ultima versione di QpdfView si avvia ma
appena carica un documento va in crash
 
Per cui occorre stare molto attenti e anche se sarebbe più logico
inserire nel libpath l' ultima versione delle librerire comuni,
occorre fare in modo che ogni app usi l' ultima versione delle
librerie comuni con la quale sono pienamente compatibili (nel senso
che alcune app possono avviarsi anche con l' ultima versione ma se non
c'è totale compatibilità possono andare in crash appena compiono
qualche operazione) e ripeto questo non è sempre immediatamente
rilevabile dalla documentazione allegata, per cui si potrebbe
incorrere in malfunzionamenti di alcune app, *apparentemente*
inspiegabili, perchè tutte le librerie richieste sono presenti: in
casi come questo bisogna tenere a mente se si sono fatti degli
aggiornamenti di librerie comuni nel libpath... il problema potrebbe
essere proprio quello.
 
A questo punto sorge un problema nuovo, rispetto a quando la questione
riguardava solo le app mozilla o poco più: visto il numero crescente
di librerie condivise e delle loro versioni, conviene quindi mantenere
nel libpath la librerie condivise nella versione più compatibile con
il maggior numero di app che solitamente non è mai l' ultima, quindi
avviare altre app che come links fanno uso dell' ultima versione
tramite RUN!.
 
***********
Attenzione.... se però capitano app che NON funzionano con l'
espediente RUN!, occorre necessariamente 
***********     ricorrere al classico file di batch

Magari la maggiorparte di chi legge già lo sa ma per chi non ne fosse
al corrente
le librerie gnu più recenti portate in OS/2, sicuramente compatibili
con tutte le versioni delle app che ne fanno uso si trovano su
http://rpm.netlabs.org/release/00/zip/
 
 
In teoria la stessa cosa si dovrebbe ottenere con YUM (questo sistema
aggiorna all' ultima versione e non se ne possono scegliere altre) per
cui mi sorge il dubbio che non sia così (non ho YUM quindi non ho
potuto fare dei test) perché in questa pagina
http://www.ecsoft2.org/jpeg-independent-jpeg-groups-jpeg-software
 
Leggo
 
libjpeg-8d-2.oc00 (09/12/2016) Repository: 
Netlabs stable Install with: yum install libjpeg
 
*SE* la libreria che installa/aggiorna è in quella revisione...
qpdfview 0.4.16 (mi pare sia la versione più recente) non funziona
correttamente: si avvia ma va in crash appena apre un pdf, per cui
anche altre app che fasnno uso di tale libreria potrebbero avere
problemi.
 
Re: Uso di versioni diverse delle stesse librerie di varie app: alcune
considerazioni


 problemi.
 
Benvenuto nel "DLL hell" :-)    Ci possiamo solo armare di pazienza e 
usare i programmi che usano le librerie aggiornate.
 
-- 
Ciao
Gabriele

 usare i programmi che usano le librerie aggiornate.
 
Mi sto ingegnando per aggirare il problema ;-)
con libpathstrict e BEGINLIBPATH in un file di batch, 
 
oppure  RUN! che però ho scoperto che presenta alcuni inconvenienti
 
PROBLEMI CON RUN!
lucide! non si avvia
links! si avvia, riesce a ricevere in input gli url ma NON i file
locali
alpine! si avvia e funziona correttamente ma il batch non riesce a
ricevere in input alcuni parametri come ad es. "NOME FINESTRA" /PGM
"alpine!l.exe"
 
In questi casi occorre necessariamente inserire le opportune variabili
d'ambiente con parametri sotituiti nel file di batch
 
Con questi accorgimenti riesco ad avviare più o  meno tutto, però una
marea di test... :-(

 
 
...
 
Secondo me non e' quella la soluzione, perche' caricare versioni 
multiple della stessa DLL affossa la gia' limitata memoria 
disponibile. Meglio segnalare il problema aprendo un ticket e 
attendere un forwarder dalla vecchia alla nuova versione della 
libreria.
 
-- 
Ciao
Gabriele


E hai pienamente ragione, non non può essere considerata una soluzione
ma solo un modo per aggirare il problema, si spera sempre
temporaneamente. Fortunatamente lo uso in un numero molto limitato di
casi.