sql - Perl/Postgresql: plperl.so undefined symbol: Perl_sv_2bool_flags -


this first post on here sorry if don't provide information required first time round!

my boss , have been trying install plperl on our postgres installation on 1 of our servers (centos 6.5, postgres 9.2.1, perl 5.10.1) , keep running same problem follows:

error:  not load library "/opt/postgresql/9.2/lib/postgresql/plperl.so":  /opt/postgresql/9.2/lib/postgresql/plperl.so: undefined symbol: perl_sv_2bool_flags 

this error returned when try , install language (create language plperl;) either through sql or using pgadmin iii gui.

i have checked have lperl.so file in /opt/postgresql/9.2/lib/postgresql/ looking libperl.so posts pertaining problem suggest. have tried placing libperl.so in lots of different places every man , dog has different suggestion should placed.

running ldd /opt/postgresql/9.2/lib/postgresql/plperl.so returns following:

ldd /opt/postgresql/9.2/lib/postgresql/plperl.so         linux-vdso.so.1 =>  (0x00007fff2d9b7000)         libperl.so => /lib64/libperl.so (0x00007f8ab5c11000)         libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f8ab59f3000)         libc.so.6 => /lib64/libc.so.6 (0x00007f8ab565f000)         libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f8ab5445000)         libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f8ab522b000)         libdl.so.2 => /lib64/libdl.so.2 (0x00007f8ab5027000)         libm.so.6 => /lib64/libm.so.6 (0x00007f8ab4da3000)         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f8ab4b6b000)         libutil.so.1 => /lib64/libutil.so.1 (0x00007f8ab4968000)         /lib64/ld-linux-x86-64.so.2 (0x00000034aa800000)         libfreebl3.so => /lib64/libfreebl3.so (0x00007f8ab46f1000) 

i don't think versions of postgres , perl problem have server running centos 6.5, postgres 9.3 , perl 5.10.1 pl/perl running (i've tried looking @ what's going on there fix cant work out).

from can tell, postgres expecting libperl.so in /lib64 when perl installed installed somewhere else. @ moment postgres thing using libperl.so

unfortunately don't know how installed on server boss set before joined company , has decided need working.

from looking @ both our servers, can't see differences in installations , configurations cause 1 work , 1 not.

i'm pretty @ wits end (its last problem need fix postgres install), suggestions appreciated.

cheers

are using binary packages installed package manager controls dependencies? compiling libraries yourself? while it's possible force binary packages install gui "admin" tool, or place files in location postgresql able find them, shouldn't expect them work if haven't been compiled/linked on reasonably similar platforms.

it looks using version of perl has been compiled different flags or options plperl.so file installing. take @ output of perl -v see how perl compiled - consistent use of threading options important.

what /opt/postgresql/9.2/lib/postgresql/plperl.so telling 1 of symbols undefined. may due compile options or may means need newer version of perl , libperl.so (5.10.1 quite old). recent versions of potgresql , plperl require newer version of perl 1 cite.

libperl.so should installed in consistent location platform , other applications have been compiled/linked use - should not need move around. indeed if there numerous copies of libperl.so on system plperl may find outdated version libperl.so when loads.

for comparison here output commands have run on 1 of systems:

/usr/local/lib/postgresql/plperl.so:        libperl.so => /usr/local/lib/perl5/5.16/mach/core/libperl.so (0x801214000)        libthr.so.3 => /lib/libthr.so.3 (0x80158f000)        libc.so.7 => /lib/libc.so.7 (0x80081b000)        libm.so.5 => /lib/libm.so.5 (0x8017b2000)        libcrypt.so.5 => /lib/libcrypt.so.5 (0x8019d3000)        libutil.so.9 => /lib/libutil.so.9 (0x801bf2000) 

the symbol present:

strings /usr/local/lib/perl5/5.16/mach/core/libperl.so | grep 2bool  perl_sv_2bool_flags  perl_sv_2bool 

most somewhere in stack there perl xs module or .so file pointing wrong place. perhaps there confusion @ system level cached libraries ... believe ldconfig tool use manage on linux.


Comments

Popular posts from this blog

javascript - how to protect a flash video from refresh? -

android - Associate same looper with different threads -

visual studio 2010 - Connect to informix database windows form application -