On Mon, Jun 11, 2001 at 03:02:34PM +0600, Romanenko M.A. wrote: >I successfully upgraded from perl-5.6.0-21 to perl-5.6.1-3, but when I try >to install >plperl in postgresql-7.1.2-1 I got an error message: > >[EMAIL PROTECTED]:~/dumps$ createlang plperl template1 >ERROR: Load of file /usr/lib/postgresql/lib/plperl.so failed: >/usr/lib/perl/5.6.0/auto/Opcode/Opcode.so: cannot open shared object file: >No such file or directory >createlang: language installation failed
>Please, tell me: >1 is this wrong configuration of my system, perl-package or >postgresql-package > bug? It would appear that the upstream developers had some difficulty getting Opcode loaded via the standard DynaLoader mechanism given this comment in plperl.c: * We cannot use the DynaLoader directly to get at the Opcode * module (used by Safe.pm). So, we link Opcode into ourselves * and do the initialization behind perl's back. as a result, Opcode.so is linked to pgperl.so at build time, which circumvents the normal run-time @INC search, hardcoding via -rpath the location of that object as found at build time... which of course causes the problems you've seen when the perl version changes. >2 is creating the softlink is enough, or it can get me into trouble later? It should suffice as a work around for the moment. As I've absolutely no idea what the developers were trying to achive, I can't suggest an alternative. I've copied this response to the maintainer who may know, or forward upstream. Regards, -- Brendan O'Dea [email protected] Compusol Pty. Limited (NSW, Australia) +61 2 9810 3633

