Pg.so bug

Started by Daniel Péderover 26 years ago3 messagesbugs
Jump to latest
#1Daniel Péder
dpeder@infoset.cz

sorry, again, fully filled
============================================================================
POSTGRESQL BUG REPORT TEMPLATE
============================================================================

Your name : Daniel Peder
Your email address :dpeder@infoset.cz

System Configuration
---------------------
Architecture (example: Intel Pentium) :Intel Pentium

Operating System (example: Linux 2.0.26 ELF) :Kernel 2.2.5-22 on an i586

PostgreSQL version (example: PostgreSQL-6.5.1): PostgreSQL-6.5.1

Compiler used (example: gcc 2.8.0) : n/a, used already compiled code

Please enter a FULL description of your problem:
------------------------------------------------
perl itself and anything other is runnig well
trying to ""use"" Pg.pm I am getting this message:

Can't load '/usr/lib/perl5/site_perl/i386-linux/auto/Pg/Pg.so' for module Pg: /usr/lib/perl5/site_perl/i386-linux/auto/Pg/Pg.so: undefined symbol: Perl_markstack_ptr at usr/lib/perl5/5.00503/i386-linux/DynaLoader.pm line 169.

Please describe a way to repeat the problem. Please try to provide a
concise reproducible example, if at all possible:
----------------------------------------------------------------------
from linux console:

[root@linux2 ]# cat test.pm

#!/usr/bin/perl -w
use Pg.pm;
1;

[root@linux2 ]# perl -c test.pm

Can't load '/usr/lib/perl5/site_perl/i386-linux/auto/Pg/Pg.so' for module Pg: /usr/lib/perl5/site_perl/i386-linux/auto/Pg/Pg.so: undefined symbol: Perl_markstack_ptr at usr/lib/perl5/5.00503/i386-linux/DynaLoader.pm line 169.
...

If you know how this problem might be fixed, list the solution below:
---------------------------------------------------------------------

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Daniel Péder (#1)
Re: [BUGS] Pg.so bug

=?iso-8859-2?Q?Daniel_P=E9der?= <dpeder@infoset.cz> writes:

Compiler used (example: gcc 2.8.0) : n/a, used already compiled code

Can't load '/usr/lib/perl5/site_perl/i386-linux/auto/Pg/Pg.so' for module Pg: /usr/lib/perl5/site_perl/i386-linux/auto/Pg/Pg.so: undefined symbol: Perl_markstack_ptr at usr/lib/perl5/5.00503/i386-linux/DynaLoader.pm line 169.

We've seen a couple reports of this sort of problem that were due to
trying to use a copy of Pg.so that was compiled against a different
version of Perl. It seems the Perl guys have been changing the
binary-level interface for loadable modules recently :-(.

You may need to build the Perl module locally in order to get a copy
that works with the version of Perl you have.

regards, tom lane

#3Daniel Péder
dpeder@infoset.cz
In reply to: Tom Lane (#2)
RE: [BUGS] Pg.so bug

-----Original Message-----
From: Tom Lane [SMTP:tgl@sss.pgh.pa.us]
Sent: Thursday, October 07, 1999 3:50 PM
Cc: 'pgsql-bugs@postgresql.org'
Subject: Re: [BUGS] Pg.so bug

<dpeder@infoset.cz> writes:

Compiler used (example: gcc 2.8.0) : n/a, used already compiled code

Can't load '/usr/lib/perl5/site_perl/i386-linux/auto/Pg/Pg.so' for module Pg: /usr/lib/perl5/site_perl/i386-linux/auto/Pg/Pg.so: undefined symbol: Perl_markstack_ptr at usr/lib/perl5/5.00503/i386-linux/DynaLoader.pm line 169.

We've seen a couple reports of this sort of problem that were due to
trying to use a copy of Pg.so that was compiled against a different
version of Perl. It seems the Perl guys have been changing the
binary-level interface for loadable modules recently :-(.

You may need to build the Perl module locally in order to get a copy
that works with the version of Perl you have.

regards, tom lane

[dp] ----- RE: ----
yes, it seems to be something like You wrote above. I've been looking into
File: DynaLoader.a
Dir: /usr/lib/perl5/5.00503/i386-linux/auto/DynaLoader

and have (using mc) seen this:
( --NOTICE-- the 3rd line, containing ""PL_markstack_ptr"" instead of above missing ""Perl_markstack_ptr"" )

DynaLoader.o:
00000000 d LastError
U PL_markstack_ptr
U PL_na
U PL_stack_base
U PL_stack_sp
U PL_sv_yes
U Perl_croak
U Perl_form
U Perl_mess
U Perl_newRV
U Perl_newXS
U Perl_safemalloc
U Perl_saferealloc
U Perl_sv_2iv
U Perl_sv_2mortal
U Perl_sv_2pv
U Perl_sv_newmortal
U Perl_sv_setiv
U Perl_sv_setpv
00000028 t SaveError
00000400 T XS_DynaLoader_dl_error
000001c0 T XS_DynaLoader_dl_find_symbol
...truncated

Any further ideas ?

thanx
Dan Peder