Paul,
You can simplify a lot od the install issues by doing:
sudo yum groupinstall "Development Tools"
I also wanted to install a newer version of postgresql and postgis. This
is how I did it on a i386 box but I think you should be able to do the
equivalent on x86_64 box:
wget
ftp://ftp.pbone.net/mirror/ftp.postgresql.org/pub/binary/v8.2.13/linux/rpms/redhat/rhel-5-i386/postgresql-libs-8.2.13-1PGDG.rhel5.i386.rpm
wget
ftp://ftp.pbone.net/mirror/ftp.postgresql.org/pub/binary/v8.2.13/linux/rpms/redhat/rhel-5-i386/postgresql-server-8.2.13-1PGDG.rhel5.i386.rpm
wget
ftp://ftp.pbone.net/mirror/ftp.postgresql.org/pub/binary/v8.2.13/linux/rpms/redhat/rhel-5-i386/postgresql-devel-8.2.13-1PGDG.rhel5.i386.rpm
wget
//ftp.pbone.net/mirror/ftp.postgresql.org/pub/binary/v8.2.13/linux/rpms/redhat/rhel-5-i386/postgresql-8.2.13-1PGDG.rhel5.i386.rpm
wget
ftp://ftp.pbone.net/mirror/ftp.postgresql.org/pub/binary/v8.2.13/linux/rpms/redhat/rhel-5-i386/postgresql-8.2.13-1PGDG.rhel5.i386.rpm
# the following two are broken, see below, I downloaded the source
# and rebuilt if here, installed and that seemed to fix things.
#
#wget
ftp://ftp.pbone.net/mirror/dag.wieers.com/packages/postgis/postgis-1.3.2-1.el5.rf.i386.rpm
#wget
ftp://ftp.pbone.net/mirror/dag.wieers.com/packages/postgis/postgis-utils-1.3.2-1.el5.rf.i386.rpm
sudo /etc/init.d/postgresql stop
sudo rpm -i postgresql-libs-8.2.13-1PGDG.rhel5.i386.rpm
sudo rpm -i --force postgresql-libs-8.2.13-1PGDG.rhel5.i386.rpm
sudo rpm -i postgresql-server-8.2.13-1PGDG.rhel5.i386.rpm \
postgresql-8.2.13-1PGDG.rhel5.i386.rpm \
postgresql-devel-8.2.13-1PGDG.rhel5.i386.rpm
wget
ftp://ftp.pbone.net/mirror/dag.wieers.com/packages/geos/geos-3.0.0-1.el5.rf.i386.rpm
wget
ftp://ftp.pbone.net/mirror/dag.wieers.com/packages/geos/geos-devel-3.0.0-1.el5.rf.i386.rpm
wget
ftp://ftp.pbone.net/mirror/dag.wieers.com/packages/proj/proj-4.5.0-1.el5.rf.i386.rpm
wget
ftp://ftp.pbone.net/mirror/dag.wieers.com/packages/proj/proj-devel-4.5.0-1.el5.rf.i386.rpm
wget
ftp://ftp.pbone.net/mirror/dries.studentenweb.org/apt/redhat/el5/en/i386/RPMS.dries/proj-nad-4.5.0-1.el5.rf.i386.rpm
sudo rpm -i geos-3.0.0-1.el5.rf.i386.rpm \
geos-devel-3.0.0-1.el5.rf.i386.rpm \
proj-4.5.0-1.el5.rf.i386.rpm \
proj-nad-4.5.0-1.el5.rf.i386.rpm \
proj-devel-4.5.0-1.el5.rf.i386.rpm
# this one is a bad rpm, we will build from source
#sudo rpm -i postgis-1.3.2-1.el5.rf.i386.rpm
sudo yum install rpm-build byacc
wget
http://download.fedora.redhat.com/pub/epel/5/SRPMS/postgis-1.3.2-1.el5.src.rpm
sudo rpmbuild --rebuild postgis-1.3.2-1.el5.src.rpm
sudo yum remove postgis
sudo rpm -i /usr/src/redhat/RPMS/i386/postgis-1.3.2-1.i386.rpm
# move our working db into the proper location so it will be used
# as the default data directory when postgresql starts
sudo mv /var/lib/pgsql/data /var/lib/pgsql/data-old
sudo mv /usr/local/pgsql/data /var/lib/pgsql/data
sudo /sbin/service postgresql initdb
sudo vi /var/lib/pgsql/data/pg_hba.conf
sudo vi /var/lib/pgsql/data/postgresql.conf
sudo /sbin/chkconfig --add postgresql
sudo /sbin/chkconfig postgresql on
sudo /etc/init.d/postgresql start
#### optinally on a new database do:
createlang -U postgres plpgsql template1
createdb -U postgres -T template1 template_postgis
psql -U postgres -f /usr/share/pgsql/contrib/lwpostgis.sql template_postgis
psql -U postgres -f /usr/share/pgsql/contrib/spatial_ref_sys.sql
template_postgis
I will check out http://yum.pgsqlrpms.org/ which looks to be a good
find. I hope the above will help someone. I keeps every thing built and
managed with rpms.
Regards,
-Steve
Paul McCullough wrote:
All,
Thanks to your help, I was able to get everything installed.
One of the key steps was to use pgsqlrpms rather than centos:
http://yum.pgsqlrpms.org/howtoyum.php
This was also a helpful page:
http://www.postgresonline.com/journal/index.php?/archives/45-An-Almost-Idiots-Guide-to-PostgreSQL-YUM.html
Finally, I include my (internal) wiki notes.
Sorry about the missing formatting.
Cheers!
Paul
/////////////////////////
Introduction
Do this slowly and carefully, and if your lucky, you won't get hurt.
keywords
Fedora 8
Fedora 9
centos
proj.4
geos
postgis
postgresql
[edit] one - install proj4 (projection library)
From http://trac.osgeo.org/proj/, download and install the the PROJ4
projection library source.
$ cd /tmp
$ wget http://download.osgeo.org/proj/proj-4.6.1.tar.gz
$ tar xvfz proj-4.6.1.tar.gz
$ cd proj-4.6.0
$ ./configure
If you are on a fresh system, you may see a number errors such as
* "C preprocessor "/lib/cpp" fails sanity check"
* no compiler found
* etc
If so, you need to fiddle a bit.
Here is some of the buckshot I used; sometimes reapeating yum installs.
I'm just a hacker; you are welcome to do correctly and edit this doc.
yum install gcc
yum groupinstall "Development Libraries"
yum install glibc-headers glibc glibc-commonglibc-devel
yum update glibc glibc-common glibc-headers glibc-devel
then proceed...
$ make
$ su
$ make install
$ exit
Odd as though it may sound, "make" may not have been installed.
$ yum install make
Lather, rinse, repeat.
You should eventually see no errors and no dependency check failures.
[edit] two - install GEOS (C++ port of the Java Topology Suite)
$ bunzip2 geos-3.0.0.tar.bz2
$ tar xvf geos-3.0.0.tar
$ cd geos-3.0.0
$ ./configure
$ make
$ su
$ make install
$ exit
ON centos, when I issued the make command I saw this:
../../../libtool: line 1223: g++: command not found
The googles suggested
yum install gcc-c++
which worked first time.
If the output from "make install" included the following
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
you need to do this:
echo '/usr/local/lib' >> /etc/ld.so.conf.d/local-lib.conf
ldconfig
[edit] three - install PostGIS
In order to build postGIS you need some artifacts from the postgresQL
development package. This is not as straight forward as it should be.
I encourage you to take a few minutes to read this through. First, your
"disto repository" is not likely to be up to date with respect to postgresql
packages. In other words, if you blindly type "yum install
postgresql-devel", you may have trouble getting everything installed
properly. I've seen errors regarding missing libraries and the like. To
avoid the fuss, when you are installing postgresql packages, use the
postgresql repositories instead of your ditsro repsository.
Here is how you do that. You should read this from top to bottom.
http://yum.pgsqlrpms.org/howtoyum.php
Also read this; you can safley skip sections on this page.
http://www.postgresonline.com/journal/index.php?/archives/45-An-Almost-Idiots-Guide-to-PostgreSQL-YUM.html
Did you do your reading?
OK, now we build postGIS.
$ yum install postgresql-devel
$ tar xvfz postgis-1.3.1.tar.gz
$ cd postgis-1.3.1
$ ./configure --with-pgsql=/usr/bin/pg_config
--with-geos=/usr/local/bin/geos-config --with-proj=/usr/local
$ make
$ su
$ make install
$ exit
Errors I've seen: error
configure: error: Can't find 'flex'
solution
yum install flex
[edit] four - make a database
$ su postgres
$ cd
$ createdb sfmaps
$ createlang plpgsql sfmaps
$ psql -f /usr/share/lwpostgis.sql -d sfmaps (error: could not load library)
$ psql -f /usr/share/spatial_ref_sys.sql -d sfmaps
$ psql sfmaps
if you encounter this error:
libgeos_c.so.1: cannot open shared object file: No such file or
directory<br>
do this
Add /usr/local/lib to the dynamic linker run-time bindings
echo '/usr/local/lib' >> /etc/ld.so.conf.d/local-lib.conf
ldconfig
[edit] five - make a postgis_template (optional)
This page shows how to create and use a db template:
http://geospatial.nomad-labs.com/2006/12/24/postgis-template-database/
_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users