=?utf-8?q?PG_Bug_reporting_form?= <noreply@postgresql.org> writes:
> Hi Team we upgrade the perl version but still not able to create the perl
> extension please find the below details.
> [root@sydcosausd001 ~]# perl -v
> This is perl 5, version 26, subversion 1 (v5.26.1) built for
> x86_64-linux-thread-multi
> (with 30 registered patches, see perl -V for more detail)
> postgres=# CREATE EXTENSION plperl;
> ERROR: could not load library
> "/opt/app/PostgreSQL/10/lib/postgresql/plperl.so":
> /opt/app/PostgreSQL/10/lib/postgresql/plperl.so: undefined symbol:
> Perl_xs_handshake
> postgres=#
Well, you've still got some kind of library version mismatch problem.
One thing that might help you figure out what's wrong is to try
ldd /opt/app/PostgreSQL/10/lib/postgresql/plperl.so
which will show you just which copy of libperl.so plperl is trying
to bind to. My guess is that it isn't the one you upgraded :-(.
If all else fails, you'll have to build your own copy of Postgres
to get one that matches the libraries you have installed. Or use
some other binary distribution of Postgres; the one you are trying
to use is evidently not a good match to your platform.
regards, tom lane