Vous n'êtes pas identifié(e).
oui. avec l'environnement bien positionné :
pg_ctl -D /usr/local/geomatique/pgsql/data stop
pg_ctl -D /usr/local/geomatique/pgsql/data start
Marc.
Hors ligne
marc
stop
puis redemarrage
echo $LD_LIBRARY_PATH
j'ai
:/usr/local/geomatique/lib:/usr/local/geomatique/pgsql/lib
je relance
./psql -e -d template1 -f /usr/local/geomatique/pgsql/share/contrib/postgis.sql > toto.txt 2>&1
toujours l'erreur
psql:/usr/local/geomatique/pgsql/share/contrib/postgis.sql:54: ERROR: could not load library "/usr/local/geomatique/pgsql/lib/postgis-1.4.so": libproj.so.0: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou répertoire de ce type
Hors ligne
Je crois que je me suis planté, à mon avis il faut simplement paramétrer dans postgres la variable de configuration dynamic_library_path
Marc.
Hors ligne
Je te remercie et en plus je viens de découvrir autre chose
comme je veux installer postgis , j'ai reverifier
geos et en passant proj
donc je me suis deconnecter de postgres
je tape
./proj proj
Rel. 4.5.0, 22 Oct 2006
<proj>:
projection initialization failure
cause: no arguments in initialization list
program abnormally terminated
je tape
./geos-config --version
3.1.1
je me connecte avec utilisateur postgres
./proj proj
./proj: error while loading shared libraries: libproj.so.0: cannot open shared object file: No such file or directory
je tape
./geos-config --version
3.1.1
donc déjà proj ne marche pas
-je pense faire
recompiler bibliotheque proj
recompiler postgis
make
make install
tu en penses quoi merci !
je te remercie je vais passer par ta méthode
Hors ligne
marc
suite a ton dynamic_library_path
j'ai tapé
pg_config --pkglibdir
et il me sort /usr/local/geomatique/lib
et dedans j'ai bien liboroj.so.0
donc faut t'il aussi que je mette aussi dynamic_library_path
dans postgres.conf avec ce chemin /usr/local/geomatique/lib
regarde aussi mon avant dernier message je te remercie d'avance
Hors ligne
oui, il faut le chemin vers toutes les librairies.
pour ce qui est de la compile, je ne sais pas. avant de réinstaller, essaye se supprimer tout ce que tu as pu compiler ou installer autour de ça pour repartir sur des bases saines.
Marc.
Hors ligne
merci marc j'ai
BEGIN
psql:/usr/local/geomatique/pgsql/share/contrib/postgis.sql:54: NOTICE: type "spheroid" is not yet defined DETAIL: Creating a shell type definition. psql:/usr/local/geomatique/pgsql/share/contrib/postgis.sql:54: ERROR: could not access file "$libdir/postgis-1.4": Aucun fichier ou répertoire de ce type
et dans postgres.conf j'ai mis
dynamic_library_path = '/usr/local/geomatique/lib:/usr/local/geomatique/pgsql/lib:$libdir'
et quand je tape
pg_config --pkglibdir
il me sort /usr/local/geomatique/lib
donc enlever $libdir dans postgresql.conf ?
merci marc
Hors ligne
une autre voie
j'ai essayer avec local_preload_libraries mais il me met
FATAL : unrecognized configuration parameter "local_preload_libraries'
merci
Hors ligne
Bon en fait, je viens de tester sur mon propre poste
Le problème est à l'inverse de ce que je pensais : dans le script postgis.sql, il est écrit :
CREATE OR REPLACE FUNCTION spheroid_in(cstring)
RETURNS spheroid
AS '$libdir/postgis-1.4','ellipsoid_in'
LANGUAGE 'C' IMMUTABLE STRICT;
Ça veut dire que postgis DOIT être installé dans $libdir.
Chez moi, il est parti après make install dans /usr/lib/postgresql/8.4/lib/postgis-1.4.so
Et le passage du script sql s'est bien passé.
Où se trouve, chez toi, ce fichier ?
Marc.
Hors ligne
il se trouve dans
/usr/local/geomatique/postgresql-8.1.4/contrib/postgis-1.4.0>
le script est pas passé, tu m'as mis la puce à l'oreille
$libdir dans le postgis.sql je peux etre le remplacé par le chemin?
tu me diras!
@+
Hors ligne
le probleme de libproj sembre résolu
j'ai rajouté
dans postgresql.conf
preload_libraries = '/usr/local/geomatique/proj-4.5.0/lib/libproj.so.0'
j'ai redemarré le service
je relance la commande j'ai
BEGIN
psql:/usr/local/geomatique/pgsql/share/contrib/postgis.sql:54: NOTICE: type "spheroid" is not yet defined
DETAIL: Creating a shell type definition.
psql:/usr/local/geomatique/pgsql/share/contrib/postgis.sql:54: ERROR: could not load library "/usr/local/geomatique/pgsql/lib/postgis-1.4.so": /usr/local/geomatique/pgsql/lib/postgis-1.4.so: undefined symbol: GEOSPreparedCovers
@+
Hors ligne
tu peux remplacer libdir par le chemin. mais il serait plus logique de désinstaller et réinstaller postgis, au bon endroit (le chemin par défaut, c'est à dire sans passer de chemin à configure)
Marc.
Hors ligne
Salut Marc,
Merci pour les infos , j'ai appris beaucoup de chose
avant de desintaller je veux tester cette manip,
j'ai creer un fichier postgis1.sql
et j'ai mis le chemin en dur
BEGIN
psql:/usr/local/geomatique/pgsql/postgis1.sql:54: NOTICE: type "spheroid" is not yet defined
DETAIL: Creating a shell type definition.
psql:/usr/local/geomatique/pgsql/postgis1.sql:54: ERROR: could not access file "/usr/local/geomatique/postgresql-8.1.4/contrib/postgis-1.4": Permission non accordée
déja j'ai plus les erreurs sur les bibliothéques
mais j'ai un message d'erreur
pourtant j'ai fait un chmod 777 /usr/local/geomatique/postgresql-8.1.4/contrib/postgis-1.4
@+
Hors ligne
toujours ce message
BEGIN
psql:/usr/local/geomatique/pgsql/postgis1.sql:54: NOTICE: type "spheroid" is not yet defined
DETAIL: Creating a shell type definition.
psql:/usr/local/geomatique/pgsql/postgis1.sql:54: ERROR: could not load library "/usr/local/geomatique/pgsql/lib/postgis-1.4.so": /usr/local/geomatique/pgsql/lib/postgis-1.4.so: undefined symbol: GEOSPreparedCovers
que me conseille tu pour la desinstallation
- deconnection utilisateur postgres
- make uninstall de postgis-1.4.0
- et le repertoire de postgis-1.4.0 je le mets a un autre emplacement dans /usr/local/geomatique
- puis ./configure par défault
- make
- make install
peut tu me confirmer ?
merci
Hors ligne
Déjà, chmod 777 c'est mal… dans le plus large des cas, fais un chmod 755 en tant qu'utilisateur propriétaire du cluster : tu n'as vraiment pas envie qu'un utilisateur puisse remplacer ta librairie par autre chose.
Ensuite je ne parle pas du répertoire source de postgis mais du répertoire cible (ce que tu passes en --prefix au script configure, si tu lui en passes).
- deconnection utilisateur postgres
- make uninstall de postgis-1.4.0
- make clean
- ./configure
- make
- make install
Marc.
Hors ligne
Marc,
make uninstall ok
make clean
aprés je mets ceci sinon ca part en erreur
./configure --with-projdir=/usr/local/geomatique/ --with-pgconfig=/usr/local/geomatique/pgsql/bin/pg_config
et le --prefix tu le redirige vers ou ?
merci
Michel
Hors ligne
tu mets surtout pas de prefix. je pense que ça devrait suffire. Mais ton projdir ne devrait pas plutot valoir /usr/local/geomatique/proj-4.5.0 ?
Marc.
Hors ligne
make clean
make uninstall
./configure --with-projdir=/usr/local/geomatique/proj-4.5.0 --with-pgconfig=/usr/local/geomatique/pgsql/bin/pg_config
OK
make
Make install OK
je poursuis et croise les doigts
Hors ligne
je me connecte utilisateur postgres
lancer commande
je tape ./pg_config le libdir = /usr/local/geomatique/pgsql/lib OK
je verifie le createlang OK
Marc,
./psql -d template1 -f /usr/local/geomatique/postgresql-8.1.4/contrib/postgis-1.4.0/postgis/postgis.sql
j'ai cette erreur , je commence à avoir les boules mais bon faut que je persevere
BEGIN
psql:/usr/local/geomatique/postgresql-8.1.4/contrib/postgis-1.4.0/postgis/postgis.sql:54: NOTICE: type "spheroid" is not yet defined
DETAIL: Creating a shell type definition.
psql:/usr/local/geomatique/postgresql-8.1.4/contrib/postgis-1.4.0/postgis/postgis.sql:54: ERROR: could not load library "/usr/local/geomatique/pgsql/lib/postgis-1.4.so": /usr/local/geomatique/pgsql/lib/postgis-1.4.so: undefined symbol: GEOSPreparedCovers
@+
Hors ligne
J'ai l'impression que tu as plus d'une version de ta libraire geos. Ça donne l'impression que tu as compilé postgis avec une version, mais qu'il en trouve une plus ancienne à l'exécution… Par exemple que tu en aies une 'vieille' déjà fournie par le système d'exploitation, et une plus récente que tu aurais compilée toi même ?
Marc.
Hors ligne
c'est l'ancien informaticien qui avez fait cela
moi c'est libgeos-3.1.1.so qui m'interesse je vais dire a mon admin qui desintalle
les anciennes libgeos ?
je te remercie vivement , tu me laisse pas tomber et je t'en remercie encore
libecpg.a libgeos.a libpgtypes.a libproj.la
libecpg_compat.a libgeos_c.a libpgtypes.so libproj.so
libecpg_compat.so libgeos_c.la libpgtypes.so.2 libproj.so.0
libecpg_compat.so.2 libgeos_c.so libpgtypes.so.2.1 libproj.so.0.5.2
libecpg_compat.so.2.1 libgeos_c.so.1 libpq.a postgresql
libecpg.so libgeos_c.so.1.6.0 libpq.so proj_api.h
libecpg.so.5 libgeos.la libpq.so.4
libecpg.so.5.1 libgeos.so libpq.so.4.1
libgeos-3.1.1.so libpgport.a libproj.a
Hors ligne
donc je vois ca avec mon admin
@+ je te dis
PostGIS is now configured for ia64-suse-linux
-------------- Compiler Info -------------
C compiler: gcc -g -O2
C++ compiler: g++ -g -O2
-------------- Dependencies --------------
GEOS config: /usr/bin/geos-config
GEOS version: 3.1
PostgreSQL config: /usr/local/geomatique/pgsql/bin/pg_config
PostgreSQL version: 8.1
PROJ4 version: 45
PostGIS debug level: 0
-------- Documentation Generation --------
xsltproc: /usr/bin/xsltproc
xsl style sheets:
dblatex:
Hors ligne
n'existe pas un moyen de debugger par exemple dans postgis.sql
afin de voir l'ancienne bibliothéque en question qui pose probléme
ou autre chose que se soit plus détaillé
merci
Hors ligne
Vers quelle version de la libgeos pointe 'ldd/usr/local/geomatique/pgsql/lib/postgis-1.4.so' ?
Marc.
Hors ligne
local/geomatique/pgsql/lib/postgis-1.4.so
linux-gate.so.1 => (0xa000000000000000)
libgeos_c.so.1 => /usr/local/lib/libgeos_c.so.1 (0x2000000800124000)
libproj.so.0 => /usr/local/geomatique/lib/libproj.so.0 (0x2000000800154000)
libc.so.6.1 => /lib/tls/libc.so.6.1 (0x20000008001e0000)
libgeos.so.2 => /usr/local/lib/libgeos.so.2 (0x200000080040c000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x2000000800620000)
libm.so.6.1 => /lib/tls/libm.so.6.1 (0x2000000800794000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2000000800848000)
/lib/ld-linux-ia64.so.2 (0x2000000800000000)
ca va chercher dans /usr/local/lib
et je compile avec ./configure --with-projdir=/usr/local/geomatique/proj-4.5.0 --with-pgconfig=/usr/local/geomatique/pgsql/bin/pg_config
je vais recompiler avec aussi --with-geosconfig=/usr/local/geomatique/geos-3.1.1
non ? merci de confirmer
Hors ligne