[Gfoss] installazione PostGIS

Salve a tutti.

Quesito forse banale, ma principiante sono e tale resto almeno per un po'.
Usando Ubuntu (o Debian, penso che la domanda sia ugualmente valida) per
installare PostGIS dai sorgenti, è effettivamente necessario avere un source
tree della propria installazione di PostgreSQL oppure è sufficiente avere
installato il pacchetto postgresql-dev (o analogo)?

Grazie,

Ste

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

On Mon, Dec 26, 2005 at 05:59:54PM +0100, Stefano Costa wrote:

Salve a tutti.

Quesito forse banale, ma principiante sono e tale resto almeno per un po'.
Usando Ubuntu (o Debian, penso che la domanda sia ugualmente valida) per
installare PostGIS dai sorgenti, è effettivamente necessario avere un source
tree della propria installazione di PostgreSQL oppure è sufficiente avere
installato il pacchetto postgresql-dev (o analogo)?

La seconda che hai detto.
Paul ha sollevato un po' di confusione con l'annuncio della 1.1.0 ...
... forse sarebbe il caso di rettificare negli stessi canali.

Il manuale ti sembra chiaro in merito ?

--strk;

/"\ ASCII Ribbon Campaign
\ / Respect for low technology.
  X Keep e-mail messages readable by any computer system.
/ \ Keep it ASCII.

Scrive strk <strk@keybit.net>:

On Mon, Dec 26, 2005 at 05:59:54PM +0100, Stefano Costa wrote:
> Salve a tutti.
>
> Quesito forse banale, ma principiante sono e tale resto almeno per un po'.
> Usando Ubuntu (o Debian, penso che la domanda sia ugualmente valida) per
> installare PostGIS dai sorgenti, è effettivamente necessario avere un
source
> tree della propria installazione di PostgreSQL oppure è sufficiente avere
> installato il pacchetto postgresql-dev (o analogo)?

La seconda che hai detto.
Paul ha sollevato un po' di confusione con l'annuncio della 1.1.0 ...
... forse sarebbe il caso di rettificare negli stessi canali.

Il manuale ti sembra chiaro in merito ?

In effetti io ho postato questa domanda prima di scaricare la 1.1.0 e leggere la
documentazione. Sia il README.postgis che il manuale HTML (paragrafo 2.1) sono
chiari nell'esposizione dei requisiti:

You *must* have full PostgreSQL - including server headers - installed
for this to work. Note that server headers are not installed by
default until PostgreSQL 8.0.0 and require the special 'install-all-headers'
Makefile rule.

però poi nel paragrafo 2.2 si parla di

Uncompress and untar the archive in the "contrib" directory of the PostgreSQL
source tree.

E a questo punto io sono un po' confuso. Installando postgresql-server-dev-8.0
si trovano in /usr/lib/include/postgresql/8.0/server effettivamente gli header
di PostgreSQL, ma non esiste la cartella "contrib". A questo punto ho estratto
i sorgenti di PostGIS in
/usr/lib/include/postgresql/8.0/server/contrib/postgis-1.1.0 e in quella
directory ho eseguito ./configure, che _sembra_ vedere tutto quanto
correttamente e infatti restituisce:

HOST_OS: linux-gnu

   PGSQL: /usr/bin/pg_config
    GEOS: /usr/bin/geos-config
    PROJ: dir=/usr
   ICONV: 1

PORTNAME: linux
   PREFIX: /usr
  EPREFIX: ${prefix}
      DOC: /usr/share/doc/postgresql-doc-8.0
     DATA: /usr/share/postgresql/8.0/postgresql/contrib
      MAN: /usr/share/postgresql/8.0/man
      BIN: /usr/lib/postgresql/8.0/bin
      EXT: /usr/lib/postgresql/8.0/lib (\$$libdir)

ma poi il make restituisce parecchi errori di questo tipo (uno a caso tanto sono
tutti uguali):

lwgeom_box3d.c:348: warning: pointer targets in passing argument 1 of
‘lwgeom_deserialize’ differ in signedness

e mi è venuto il forte sospetto che qualcosa non sia andato come doveva.

Probabilmente questo post è molto confuso ma io lo sono almeno altrettanto :slight_smile:

Ste

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

On Mon, Dec 26, 2005 at 11:38:36PM +0100, strk wrote:

On Mon, Dec 26, 2005 at 05:59:54PM +0100, Stefano Costa wrote:
> Salve a tutti.
>
> Quesito forse banale, ma principiante sono e tale resto almeno per un po'.
> Usando Ubuntu (o Debian, penso che la domanda sia ugualmente valida) per
> installare PostGIS dai sorgenti, è effettivamente necessario avere un source
> tree della propria installazione di PostgreSQL oppure è sufficiente avere
> installato il pacchetto postgresql-dev (o analogo)?

La seconda che hai detto.
Paul ha sollevato un po' di confusione con l'annuncio della 1.1.0 ...
... forse sarebbe il caso di rettificare negli stessi canali.

Il manuale ti sembra chiaro in merito ?

Senza leggere il manuale ha funzionato questo per me
(Mandriva 2006, standard binary PostgreSQL 8 RPMs):

tar xvfz postgis-1.1.0.tar.gz
cd postgis-1.1.0
./configure
make
su
make install

But then I had to fix a path (I linked instead of mv):
cd /usr/share/pgsql
ln -s postgresql/contrib .
exit

I restarted PostgreSQL (not sure if needed), then
created a new database:
  createdb postgisdb
  createlang plpgsql postgisdb
  psql -f /usr/share/pgsql/contrib/lwpostgis.sql postgisdb

Then v.out.ogr, QGIS, ogrinfo worked.

Luckily the compiled source tree of PostgreSQL is no longer
needed.

Markus

PS: acc, scusate, il mio built-in babelfish e' andato in
    vacanze... ma dovrebbe essere chiaro

Non serve la directory contrib/
e' un residuo del vecchio build system nel manuale.
Potete compilare postgis ovunque crediate, e non
serve restartare il postgresql..

--strk;

On Tue, Dec 27, 2005 at 09:17:38PM +0100, Markus Neteler wrote:

On Mon, Dec 26, 2005 at 11:38:36PM +0100, strk wrote:
> On Mon, Dec 26, 2005 at 05:59:54PM +0100, Stefano Costa wrote:
> > Salve a tutti.
> >
> > Quesito forse banale, ma principiante sono e tale resto almeno per un po'.
> > Usando Ubuntu (o Debian, penso che la domanda sia ugualmente valida) per
> > installare PostGIS dai sorgenti, è effettivamente necessario avere un source
> > tree della propria installazione di PostgreSQL oppure è sufficiente avere
> > installato il pacchetto postgresql-dev (o analogo)?
>
> La seconda che hai detto.
> Paul ha sollevato un po' di confusione con l'annuncio della 1.1.0 ...
> ... forse sarebbe il caso di rettificare negli stessi canali.
>
> Il manuale ti sembra chiaro in merito ?

Senza leggere il manuale ha funzionato questo per me
(Mandriva 2006, standard binary PostgreSQL 8 RPMs):

tar xvfz postgis-1.1.0.tar.gz
cd postgis-1.1.0
./configure
make
su
make install

But then I had to fix a path (I linked instead of mv):
cd /usr/share/pgsql
ln -s postgresql/contrib .
exit

I restarted PostgreSQL (not sure if needed), then
created a new database:
  createdb postgisdb
  createlang plpgsql postgisdb
  psql -f /usr/share/pgsql/contrib/lwpostgis.sql postgisdb

Then v.out.ogr, QGIS, ogrinfo worked.

Luckily the compiled source tree of PostgreSQL is no longer
needed.

Markus

PS: acc, scusate, il mio built-in babelfish e' andato in
    vacanze... ma dovrebbe essere chiaro

_______________________________________________
Gfoss mailing list
Gfoss@faunalia.com
http://www.faunalia.com/cgi-bin/mailman/listinfo/gfoss

--

/"\ ASCII Ribbon Campaign
\ / Respect for low technology.
  X Keep e-mail messages readable by any computer system.
/ \ Keep it ASCII.

Ciao strk,

On Wed, Dec 28, 2005 at 03:36:28PM +0100, strk wrote:

Non serve la directory contrib/
e' un residuo del vecchio build system nel manuale.

ho controllato:
purtroppo e' anche un residuo nel Make system di Postgis 1.1.0
(mi sembra):

make install
...
ln -s liblwgeom.so.1.1 liblwgeom.so
/home/neteler/soft/postgis-1.1.0/install-sh -c -m 644 ../lwpostgis.sql /usr/share/pgsql/postgresql/contrib/lwpostgis.sql
/home/neteler/soft/postgis-1.1.0/install-sh -c -m 644 ../lwpostgis_upgrade.sql /usr/share/pgsql/postgresql/contrib/lwpostgis_upgrade.sql
/home/neteler/soft/postgis-1.1.0/install-sh -c -m 644 ../spatial_ref_sys.sql /usr/share/pgsql/postgresql/contrib/spatial_ref_sys.sql
make[1]: Leaving directory `/home/neteler/soft/postgis-1.1.0/lwgeom'
make -C loader install
make[1]: Entering directory `/home/neteler/soft/postgis-1.1.0/loader'
/home/neteler/soft/postgis-1.1.0/install-sh -c -m 755 pgsql2shp /usr/bin/pgsql2shp
/home/neteler/soft/postgis-1.1.0/install-sh -c -m 755 shp2pgsql /usr/bin/shp2pgsql
make[1]: Leaving directory `/home/neteler/soft/postgis-1.1.0/loader'
[root@dandre postgis-1.1.0]#

-> /usr/share/pgsql/postgresql/contrib/lwpostgis.sql
                     ^^^^^^^^^^^^^^^^^^^

[root@dandre postgis-1.1.0]# grep contrib *
...
configure: datadir=${pg_datadir}/postgresql/contrib
configure.in: datadir=${pg_datadir}/postgresql/contrib
...
Makefile.config:datadir=/usr/share/pgsql/postgresql/contrib
...

Mi piacerebbe di evitare questo. Ma forse non e' la mailing
list giusta qua...

ciao

Markus

Potete compilare postgis ovunque crediate, e non
serve restartare il postgresql..

--strk;

On Tue, Dec 27, 2005 at 09:17:38PM +0100, Markus Neteler wrote:
> On Mon, Dec 26, 2005 at 11:38:36PM +0100, strk wrote:
> > On Mon, Dec 26, 2005 at 05:59:54PM +0100, Stefano Costa wrote:
> > > Salve a tutti.
> > >
> > > Quesito forse banale, ma principiante sono e tale resto almeno per un po'.
> > > Usando Ubuntu (o Debian, penso che la domanda sia ugualmente valida) per
> > > installare PostGIS dai sorgenti, è effettivamente necessario avere un source
> > > tree della propria installazione di PostgreSQL oppure è sufficiente avere
> > > installato il pacchetto postgresql-dev (o analogo)?
> >
> > La seconda che hai detto.
> > Paul ha sollevato un po' di confusione con l'annuncio della 1.1.0 ...
> > ... forse sarebbe il caso di rettificare negli stessi canali.
> >
> > Il manuale ti sembra chiaro in merito ?
>
> Senza leggere il manuale ha funzionato questo per me
> (Mandriva 2006, standard binary PostgreSQL 8 RPMs):
>
> tar xvfz postgis-1.1.0.tar.gz
> cd postgis-1.1.0
> ./configure
> make
> su
> make install
>
> But then I had to fix a path (I linked instead of mv):
> cd /usr/share/pgsql
> ln -s postgresql/contrib .
> exit
>
> I restarted PostgreSQL (not sure if needed), then
> created a new database:
> createdb postgisdb
> createlang plpgsql postgisdb
> psql -f /usr/share/pgsql/contrib/lwpostgis.sql postgisdb
>
> Then v.out.ogr, QGIS, ogrinfo worked.
>
> Luckily the compiled source tree of PostgreSQL is no longer
> needed.
>
> Markus
>
> PS: acc, scusate, il mio built-in babelfish e' andato in
> vacanze... ma dovrebbe essere chiaro
>
>
>
> _______________________________________________
> Gfoss mailing list
> Gfoss@faunalia.com
> http://www.faunalia.com/cgi-bin/mailman/listinfo/gfoss

--

/"\ ASCII Ribbon Campaign
\ / Respect for low technology.
  X Keep e-mail messages readable by any computer system.
/ \ Keep it ASCII.

_______________________________________________
Gfoss mailing list
Gfoss@faunalia.com
http://www.faunalia.com/cgi-bin/mailman/listinfo/gfoss

--
Markus Neteler <neteler itc it> http://mpa.itc.it
ITC-irst - Centro per la Ricerca Scientifica e Tecnologica
MPBA - Predictive Models for Biol. & Environ. Data Analysis
Via Sommarive, 18 - 38050 Povo (Trento), Italy

Scrive Markus Neteler <neteler@itc.it>:

Ciao strk,

On Wed, Dec 28, 2005 at 03:36:28PM +0100, strk wrote:
> Non serve la directory contrib/
> e' un residuo del vecchio build system nel manuale.

ho controllato:
purtroppo e' anche un residuo nel Make system di Postgis 1.1.0
(mi sembra):

[..]

make -C loader install
make[1]: Entering directory `/home/neteler/soft/postgis-1.1.0/loader'
/home/neteler/soft/postgis-1.1.0/install-sh -c -m 755 pgsql2shp
/usr/bin/pgsql2shp
/home/neteler/soft/postgis-1.1.0/install-sh -c -m 755 shp2pgsql
/usr/bin/shp2pgsql
make[1]: Leaving directory `/home/neteler/soft/postgis-1.1.0/loader'
[root@dandre postgis-1.1.0]#

-> /usr/share/pgsql/postgresql/contrib/lwpostgis.sql
                     ^^^^^^^^^^^^^^^^^^^

[root@dandre postgis-1.1.0]# grep contrib *
...
configure: datadir=${pg_datadir}/postgresql/contrib
configure.in: datadir=${pg_datadir}/postgresql/contrib
...
Makefile.config:datadir=/usr/share/pgsql/postgresql/contrib
...

Anche io riscontro esattamente lo stesso output. Segnalo come bug

Stefano

--
Stefano Costa
http://www.iosa.it * Software Libero per l'Archeologia
Jabber: steko@jabber.linux.it

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

Scrive Stefano Costa <steko@iosa.it>:

Scrive Markus Neteler <neteler@itc.it>:

> Ciao strk,
>
> On Wed, Dec 28, 2005 at 03:36:28PM +0100, strk wrote:
> > Non serve la directory contrib/
> > e' un residuo del vecchio build system nel manuale.
>
> ho controllato:
> purtroppo e' anche un residuo nel Make system di Postgis 1.1.0
> (mi sembra):
[..]
> make -C loader install
> make[1]: Entering directory `/home/neteler/soft/postgis-1.1.0/loader'
> /home/neteler/soft/postgis-1.1.0/install-sh -c -m 755 pgsql2shp
> /usr/bin/pgsql2shp
> /home/neteler/soft/postgis-1.1.0/install-sh -c -m 755 shp2pgsql
> /usr/bin/shp2pgsql
> make[1]: Leaving directory `/home/neteler/soft/postgis-1.1.0/loader'
> [root@dandre postgis-1.1.0]#
>
> -> /usr/share/pgsql/postgresql/contrib/lwpostgis.sql
> ^^^^^^^^^^^^^^^^^^^
>
> [root@dandre postgis-1.1.0]# grep contrib *
> ...
> configure: datadir=${pg_datadir}/postgresql/contrib
> configure.in: datadir=${pg_datadir}/postgresql/contrib
> ...
> Makefile.config:datadir=/usr/share/pgsql/postgresql/contrib
> ...

Anche io riscontro esattamente lo stesso output. Segnalo come bug

Stefano

Ripensandoci, forse non si tratta di un bug. L'errore nella documentazione si
riferiva alla directory /contrib come cartella dove eseguire il configure e
make e in effetti questo dalla versione 1.1.0 è errato.
Ma poi penso sia corretto che i file di PostGIS installati stiano in
${pg_datadir}/postgresql/contrib perché è lì che stanno tutte le estensioni di
PostgreSQL.

--
Stefano Costa
http://www.iosa.it * Software Libero per l'Archeologia
Jabber: steko@jabber.linux.it

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

On Thu, Dec 29, 2005 at 11:48:32PM +0100, Stefano Costa wrote:

Scrive Stefano Costa <steko@iosa.it>:

> Scrive Markus Neteler <neteler@itc.it>:
>
> > Ciao strk,
> >
> > On Wed, Dec 28, 2005 at 03:36:28PM +0100, strk wrote:
> > > Non serve la directory contrib/
> > > e' un residuo del vecchio build system nel manuale.
> >
> > ho controllato:
> > purtroppo e' anche un residuo nel Make system di Postgis 1.1.0
> > (mi sembra):
> [..]
> > make -C loader install
> > make[1]: Entering directory `/home/neteler/soft/postgis-1.1.0/loader'
> > /home/neteler/soft/postgis-1.1.0/install-sh -c -m 755 pgsql2shp
> > /usr/bin/pgsql2shp
> > /home/neteler/soft/postgis-1.1.0/install-sh -c -m 755 shp2pgsql
> > /usr/bin/shp2pgsql
> > make[1]: Leaving directory `/home/neteler/soft/postgis-1.1.0/loader'
> > [root@dandre postgis-1.1.0]#
> >
> > -> /usr/share/pgsql/postgresql/contrib/lwpostgis.sql
> > ^^^^^^^^^^^^^^^^^^^
> >
> > [root@dandre postgis-1.1.0]# grep contrib *
> > ...
> > configure: datadir=${pg_datadir}/postgresql/contrib
> > configure.in: datadir=${pg_datadir}/postgresql/contrib
> > ...
> > Makefile.config:datadir=/usr/share/pgsql/postgresql/contrib
> > ...
>
> Anche io riscontro esattamente lo stesso output. Segnalo come bug
>
> Stefano

Ripensandoci, forse non si tratta di un bug. L'errore nella documentazione si
riferiva alla directory /contrib come cartella dove eseguire il configure e
make e in effetti questo dalla versione 1.1.0 è errato.
Ma poi penso sia corretto che i file di PostGIS installati stiano in
${pg_datadir}/postgresql/contrib perché è lì che stanno tutte le estensioni di
PostgreSQL.

Esattamente, la directory contrib/ e' usata come datadir di default
per rispecchiare il vecchio layout... se la directory NON viene creata
c'e' un bug, altrimenti e' tutto a posto.
Markus, se non ti piace puoi cambiare datadir con uno switch di
./configure (vedi --help). Per default usando --prefix=qualcosa
usa il *nuovo* layout.
Si, la mailing list giusta e' postgis-user ...

--strk;