[Gfoss] UDig & Spatialite

a.furieri a lqt.it a.furieri a lqt.it
Mar 20 Nov 2012 16:05:13 CET


On Tue, 20 Nov 2012 15:39:38 +0100, andrea antonello wrote:
> Ho richiesto conferma e alla domanda di dove e' bloccato il suo 
> patch,
> la risposta e' stata:
> 
> ----------------------------------------------------------------------------------
> The sqlitejdbc project.
>
>   http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC
>

ma siamo proprio sicuri che Xerial sia ancora un progetto in vita ?
vedo che l'ultimo aggiornamento risale al 26 Maggio 2011; sono passati
circa 18 mesi da allora ... e non vedo neppure un filo di attivita'
dopo quella data.

mi sono letto la patch: in effetti questo e' esattamente il 
*problemone*
che affligge alla radice il connector JDBC Xerial
BTW e' esattamente il medesimo che affligge(va) anche il connector 
Python
pySpatialite. (forse ora e' definitivamente risolto, almeno su OSGeo4W)

SQLite e' una libreria C; ed e' molto compatta. addirittura e' un unico
sorgente C monolitico (the amalgamation).
nasce quindi abbastanza spontanea la tentazione (peccaminosissima) di
compilare tutto quanto assieme ed ottenere cosi' un'unica libreria che
contenga sia SQLite che il connector JNI all-in-one; ovviamente cosi'
si semplifica notevolmente sia la build che l'installazione.

peccato solo che in questo modo si introduce subdolamente una versione
statically linked del codice di SQLite, che e' del tutto invisibile
per gli altri sviluppatori visto che gli header files non vengono 
distribuiti.

quando poi vai a caricare spatialite come dynamic extension magari 
questa
si carica ancora un'altra copia di SQLite (possibilmente da un .so o 
.dll;
ma se usi una versione molto "arcaica" potrebbe anche essere statically
linked e con simboli opportunamente mascherati).
cosi' alla fine ti ritrovi con almeno due copie di SQLite (quasi 
certamente
di due versioni differenti, e molto probabilmente generate usando due
compilatori differenti e/o applicando opzioni di build differenti) che
fanno a cazzotti dentro allo stesso thread.

stupisce scoprire che va tutto in crash in meno di due secondi ? :-P

lato Python/OSGeo4W pare che qualche sistemista piu' accorto abbia 
lavorato
saggiamente per riconfigurare tutto quanto in modo tale da usare sempre 
e
comunque SQLite tramite libreria dinamica di sistema.
lato Xerial ho invece l'impressione che una volta presa consepevolezza 
del
problema abbiano molto piu' drasticamente deciso di interrompere lo
sviluppo del progetto (spero di sbagliarmi, ovviamente)

ciao Sandro




-- 
Il messaggio e' stato analizzato alla ricerca di virus o
contenuti pericolosi da MailScanner, ed e'
risultato non infetto.



Maggiori informazioni sulla lista Gfoss