Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Thu 22 March 2012 14:43

Anaïs Just
Participant actif
Lieu: Montreuil
Date d'inscription: 10 Dec 2007
Messages: 131

problème chargement langage plr pour postgresql 9.0

Bonjour à tous,

J'essaie de charger la librairie R pour postgresql 9.0. (plr). Je suis sous windows 32bitts
J'ai trouvé les indications pour le faire à cette adresse:

file:///F:/TUTORIELS_et_EXECUTABLES/POS … r-cree.htm

et la librairie plr.dll  accompagnée de la fonction de lancement plr.sql à cette adresse:

http://www.joeconway.com/plr/

Le problème c'est que quand je lance plr.sql (en ligne de commande ou directement sous pgadmin) j'ai le message d'erreur suivant:

ERREUR:  n'a pas pu charger la bibliothèque « C:/Program Files/PostgreSQL/9.0/lib/plr.dll » : unknown error 126


J'ai été regarder sur le net et je trouve pleins de gens qui ont eu des soucis pour charger perl ou python mais je n'ai pas trouvé de réponse.
Je me demande si le problème ne vient pas de la version de R que j'ai déjà sur ma machine (j'ai la 2.8.0)?

Quelqu'un a une idée?

Merci d'avance!

Anaïs

Hors ligne

 

#2 Thu 22 March 2012 15:16

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3169
Site web

Re: problème chargement langage plr pour postgresql 9.0

Bonjour,

Je me demande si le problème ne vient pas de la version de R que j'ai déjà sur ma machine (j'ai la 2.8.0)?


Peut-être devriez vous supprimer la 2.8.0 du répertoire
C:/Program Files/PostgreSQL/9.0/lib/

et la remplacer par 8.3.0.13

?


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#3 Thu 22 March 2012 15:29

Anaïs Just
Participant actif
Lieu: Montreuil
Date d'inscription: 10 Dec 2007
Messages: 131

Re: problème chargement langage plr pour postgresql 9.0

Non finalement je pense que ce n'est pas lié. J'avais installé le logiciel R mais ici il s'agit de la librairie plr pour postgres...En plus j'ai testé l'installation de plpython et j'ai le même message d'erreur (bon j'ai aussi python qui est déjà installé sur ma machine pour d'autres applis...) vraiment je ne comprends pas...

CREATE PROCEDURAL LANGUAGE 'plpythonu' HANDLER plpython_call_handler;


NOTICE:  utilisation des informations de pg_pltemplate au lieu des paramètres de
CREATE LANGUAGE
ERREUR:  n'a pas pu charger la bibliothèque « C:/Program Files/PostgreSQL/9.0/lib/plpython.dll » : unknown error 126


et pourtant j'ai vérifié, la dll existe bien dans mon dossier lib...

pffff...

Dernière modification par Anaïs Just (Thu 22 March 2012 15:30)

Hors ligne

 

#4 Thu 22 March 2012 16:25

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1536

Re: problème chargement langage plr pour postgresql 9.0

Anaïs Just a écrit:

Non finalement je pense que ce n'est pas lié. J'avais installé le logiciel R mais ici il s'agit de la librairie plr pour postgres...En plus j'ai testé l'installation de plpython et j'ai le même message d'erreur (bon j'ai aussi python qui est déjà installé sur ma machine pour d'autres applis...) vraiment je ne comprends pas...

CREATE PROCEDURAL LANGUAGE 'plpythonu' HANDLER plpython_call_handler;


NOTICE:  utilisation des informations de pg_pltemplate au lieu des paramètres de
CREATE LANGUAGE
ERREUR:  n'a pas pu charger la bibliothèque « C:/Program Files/PostgreSQL/9.0/lib/plpython.dll » : unknown error 126


et pourtant j'ai vérifié, la dll existe bien dans mon dossier lib...

pffff...


Les espaces dans "program files" ne generaient pas ?

Nicolas

Hors ligne

 

#5 Thu 22 March 2012 16:33

Anaïs Just
Participant actif
Lieu: Montreuil
Date d'inscription: 10 Dec 2007
Messages: 131

Re: problème chargement langage plr pour postgresql 9.0

Merci je viens de tester...si je place la librairie dans C et que je change le chemin dans les instructions ça donne la même chose

ERREUR:  n'a pas pu charger la bibliothèque « C:/plr.dll » : unknown error 126


arg...

Hors ligne

 

#6 Thu 22 March 2012 16:55

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1536

Re: problème chargement langage plr pour postgresql 9.0

Anaïs Just a écrit:

Merci je viens de tester...si je place la librairie dans C et que je change le chemin dans les instructions ça donne la même chose

ERREUR:  n'a pas pu charger la bibliothèque « C:/plr.dll » : unknown error 126


arg...


Il se peut que le liens vers les autres dll nécessaires soit cassé, ou que ces DLL ne soient pas trouvées.

Peut etre le programme dependencyWalker (http://www.dependencywalker.com/) vous permettrait-il de voir le probleme ?

Nico

Hors ligne

 

#7 Thu 22 March 2012 17:22

Anaïs Just
Participant actif
Lieu: Montreuil
Date d'inscription: 10 Dec 2007
Messages: 131

Re: problème chargement langage plr pour postgresql 9.0

Merci Nicolas,

J'ai lancé dependency walker (voir les deux captures d'écran jointes).
Dans le premier lancement le programme m'indique
1)qu'il manque POSTGRES.exe???
1) qu'il manque la librairie R.dll ->j'ai été la chercher dans les lib de R sous programme files et je l'ai installé dans lib de postgres

Une fois la modif faite je relance independency walker qui m'indique toujours qu'il manque
POSTGRES.exe et un tas d'autres librairies que je pense pouvoir trouver dans les lib de R.

Je ne comprends pas pourquoi la plr.dll a besoin de POSTGRES.exe ...

Dernière modification par Anaïs Just (Thu 22 March 2012 17:22)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#8 Tue 27 March 2012 10:18

Anaïs Just
Participant actif
Lieu: Montreuil
Date d'inscription: 10 Dec 2007
Messages: 131

Re: problème chargement langage plr pour postgresql 9.0

Bonjour à tous,

Finalement j'ai trouvé l'erreur...ou les erreurs... déjà grâce à l'adresse suivante:
http://www.bostongis.com/PrinterFriendl … _plr_tut01
je me suis rendu compte qu'il fallait éditer les variables d'environnement pour R, je l'ai aussi fait pour postgresql.
En parallèle, mais du coup je ne sais pas si c'était utile, j'ai été piocher dans les bin de R les dll qui manquaient dans le dossier lib de postgresql (grâces aux indications de dependency walker).
Par contre je n'arrivais toujours pas à envoyer le fichier plr.sql car j'avais des messages d'erreur du type

ERREUR:  le type « plr_environ_type » existe déjà

********** Erreur **********

ERREUR: le type « plr_environ_type » existe déjà
État SQL :42710


En fait il faut copier/coller le fichier plr.sql dans une fenêtre sql de pgadminIII et lancer une par une les fonctions. Car, je ne sais pas pourquoi, certains types comme "plr_environ_type" existent déjà et cela bloque l'exécution des fonction.
Voilà.
A présent j'ai bien plr d'installé sous postgresql...!
ouff!!

Bonne journée à tous.

SET autocommit TO 'on';

CREATE FUNCTION plr_call_handler()
RETURNS LANGUAGE_HANDLER
AS '$libdir/plr' LANGUAGE C;

CREATE LANGUAGE plr HANDLER plr_call_handler;

CREATE OR REPLACE FUNCTION reload_plr_modules ()
RETURNS text
AS '$libdir/plr','reload_plr_modules'
LANGUAGE 'C';

CREATE OR REPLACE FUNCTION install_rcmd (text)
RETURNS text
AS '$libdir/plr','install_rcmd'
LANGUAGE 'C' WITH (isstrict);
REVOKE EXECUTE ON FUNCTION install_rcmd (text) FROM PUBLIC;

CREATE OR REPLACE FUNCTION plr_singleton_array (float8)
RETURNS float8[]
AS '$libdir/plr','plr_array'
LANGUAGE 'C' WITH (isstrict);

CREATE OR REPLACE FUNCTION plr_array_push (_float8, float8)
RETURNS float8[]
AS '$libdir/plr','plr_array_push'
LANGUAGE 'C' WITH (isstrict);

CREATE OR REPLACE FUNCTION plr_array_accum (_float8, float8)
RETURNS float8[]
AS '$libdir/plr','plr_array_accum'
LANGUAGE 'C';

CREATE TYPE plr_environ_type AS (name text, value text);
CREATE OR REPLACE FUNCTION plr_environ ()
RETURNS SETOF plr_environ_type
AS '$libdir/plr','plr_environ'
LANGUAGE 'C';

REVOKE EXECUTE ON FUNCTION plr_environ() FROM PUBLIC;

CREATE TYPE r_typename AS (typename text, typeoid oid);
CREATE OR REPLACE FUNCTION r_typenames()
RETURNS SETOF r_typename AS '
  x <- ls(name = .GlobalEnv, pat = "OID")
  y <- vector()
  for (i in 1:length(x)) {y[i] <- eval(parse(text = x[i]))}
  data.frame(typename = x, typeoid = y)
' language 'plr';

CREATE OR REPLACE FUNCTION load_r_typenames()
RETURNS text AS '
  sql <- "select upper(typname::text) || ''OID'' as typename, oid from pg_catalog.pg_type where typtype = ''b'' order by typname"
  rs <- pg.spi.exec(sql)
  for(i in 1:nrow(rs))
  {
    typobj <- rs[i,1]
    typval <- rs[i,2]
    if (substr(typobj,1,1) == "_")
      typobj <- paste("ARRAYOF", substr(typobj,2,nchar(typobj)), sep="")
    assign(typobj, typval, .GlobalEnv)
  }
  return("OK")
' language 'plr';

CREATE TYPE r_version_type AS (name text, value text);
CREATE OR REPLACE FUNCTION r_version()
RETURNS setof r_version_type as '
  cbind(names(version),unlist(version))
' language 'plr';

CREATE OR REPLACE FUNCTION plr_set_rhome (text)
RETURNS text
AS '$libdir/plr','plr_set_rhome'
LANGUAGE 'C' WITH (isstrict);
REVOKE EXECUTE ON FUNCTION plr_set_rhome (text) FROM PUBLIC;

CREATE OR REPLACE FUNCTION plr_unset_rhome ()
RETURNS text
AS '$libdir/plr','plr_unset_rhome'
LANGUAGE 'C';
REVOKE EXECUTE ON FUNCTION plr_unset_rhome () FROM PUBLIC;

CREATE OR REPLACE FUNCTION plr_set_display (text)
RETURNS text
AS '$libdir/plr','plr_set_display'
LANGUAGE 'C' WITH (isstrict);
REVOKE EXECUTE ON FUNCTION plr_set_display (text) FROM PUBLIC;

CREATE OR REPLACE FUNCTION plr_get_raw (bytea)
RETURNS bytea
AS '$libdir/plr','plr_get_raw'
LANGUAGE 'C' WITH (isstrict);

Hors ligne

 

#9 Tue 27 March 2012 12:14

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3169
Site web

Re: problème chargement langage plr pour postgresql 9.0

Merci pour le suivi !


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

Pied de page des forums

Powered by FluxBB