compile errors in new PL/Pler
gmake[3]: Entering directory `/space/1/home/chriskl/pgsql/src/pl/plperl'
gcc -O2 -fno-strict-aliasing -g -fpic -DPIC -I.
-I/usr/libdata/perl/5.00503/mach/CORE -I../../../src/include -c -o
SPI.o SPI.c -MMD
SPI.xs: In function `XS__spi_exec_query':
SPI.xs:51: `aTHX_' undeclared (first use in this function)
SPI.xs:51: (Each undeclared identifier is reported only once
SPI.xs:51: for each function it appears in.)
SPI.xs:51: syntax error before string constant
gmake[3]: *** [SPI.o] Error 1
gmake[3]: Leaving directory `/space/1/home/chriskl/pgsql/src/pl/plperl'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/space/1/home/chriskl/pgsql/src/pl'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/space/1/home/chriskl/pgsql/src'
gmake: *** [all] Error 2
Chris
Christopher Kings-Lynne wrote:
gmake[3]: Entering directory `/space/1/home/chriskl/pgsql/src/pl/plperl'
gcc -O2 -fno-strict-aliasing -g -fpic -DPIC -I.
-I/usr/libdata/perl/5.00503/mach/CORE -I../../../src/include -c -o
SPI.o SPI.c -MMD
I am going to bet dollars to donuts that it is your perl version. Perl
5.00503 is ancient. Try upgrading to at least 5.6.
Sincerely,
Joshua D. Drake
SPI.xs: In function `XS__spi_exec_query':
SPI.xs:51: `aTHX_' undeclared (first use in this function)
SPI.xs:51: (Each undeclared identifier is reported only once
SPI.xs:51: for each function it appears in.)
SPI.xs:51: syntax error before string constant
gmake[3]: *** [SPI.o] Error 1
gmake[3]: Leaving directory `/space/1/home/chriskl/pgsql/src/pl/plperl'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/space/1/home/chriskl/pgsql/src/pl'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/space/1/home/chriskl/pgsql/src'
gmake: *** [all] Error 2Chris
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend
--
Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com
PostgreSQL Replicator -- production quality replication for PostgreSQL
gmake[3]: Entering directory `/space/1/home/chriskl/pgsql/src/pl/plperl'
gcc -O2 -fno-strict-aliasing -g -fpic -DPIC -I.
-I/usr/libdata/perl/5.00503/mach/CORE -I../../../src/include -c -o
SPI.o SPI.c -MMDI am going to bet dollars to donuts that it is your perl version. Perl
5.00503 is ancient. Try upgrading to at least 5.6.
Not much I can do about that - it's builtin as part of FreeBSD 4.x series.
Chris
On Fri, 2 Jul 2004, Christopher Kings-Lynne wrote:
gmake[3]: Entering directory `/space/1/home/chriskl/pgsql/src/pl/plperl'
gcc -O2 -fno-strict-aliasing -g -fpic -DPIC -I.
-I/usr/libdata/perl/5.00503/mach/CORE -I../../../src/include -c -o
SPI.o SPI.c -MMDI am going to bet dollars to donuts that it is your perl version. Perl
5.00503 is ancient. Try upgrading to at least 5.6.Not much I can do about that - it's builtin as part of FreeBSD 4.x series.
And I bet its still the 'standard' for alot of ppl out there running it
... its only within the past couple of months that we've even upgraded
mail.postgresql.org to it, and only because I wanted to see if it would
improve majordomo's performance (which it didn't) ...
----
Marc G. Fournier Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664
Marc G. Fournier wrote:
On Fri, 2 Jul 2004, Christopher Kings-Lynne wrote:
I am going to bet dollars to donuts that it is your perl version.
Perl 5.00503 is ancient. Try upgrading to at least 5.6.Not much I can do about that - it's builtin as part of FreeBSD 4.x
series.And I bet its still the 'standard' for alot of ppl out there running it
... its only within the past couple of months that we've even upgraded
mail.postgresql.org to it, and only because I wanted to see if it would
improve majordomo's performance (which it didn't) ...
So we have three choices as I see it:
1) revert the change
2) require some minimally recent version of perl
3) fix the issue in place
Preferences?
Joshua/Andrew -- do you want to take a shot at making this work on perl
5.00503?
Joe
Joe Conway said:
Marc G. Fournier wrote:
On Fri, 2 Jul 2004, Christopher Kings-Lynne wrote:
I am going to bet dollars to donuts that it is your perl version.
Perl 5.00503 is ancient. Try upgrading to at least 5.6.Not much I can do about that - it's builtin as part of FreeBSD 4.x
series.And I bet its still the 'standard' for alot of ppl out there running
it ... its only within the past couple of months that we've even
upgraded mail.postgresql.org to it, and only because I wanted to see
if it would improve majordomo's performance (which it didn't) ...So we have three choices as I see it:
1) revert the change
2) require some minimally recent version of perl
3) fix the issue in placePreferences?
Joshua/Andrew -- do you want to take a shot at making this work on perl
5.00503?Joe
1 is not acceptable, and 2 kinda sucks.
Please try adding this to SPI.xs,
#ifndef aTHX_
#define aTHX_
#endif
recompile and test by calling spi_exec_query with more than 2 arguments like
this:
create function should_croak() returns text language plperl as $$
my $rv = spi_exec_query("select 1",5,"blurfl");
return $rv->{status};
$$;
select should_croak();
cheers
andrew
1 is not acceptable, and 2 kinda sucks.
Please try adding this to SPI.xs,
#ifndef aTHX_
#define aTHX_
#endifrecompile and test by calling spi_exec_query with more than 2 arguments like
this:
Hmmm, compiled fine, but then I get this:
-bash-2.05b$ createlang -d test plperl
ERROR: could not load library
"/home/chriskl/local/lib/postgresql/plperl.so": dlopen
'/home/chriskl/local/lib/postgresql/plperl.so' failed.
(/home/chriskl/local/lib/postgresql/plperl.so: Undefined symbol "eval_pv")
createlang: language installation failed: ERROR: could not load library
"/home/chriskl/local/lib/postgresql/plperl.so": dlopen
'/home/chriskl/local/lib/postgresql/plperl.so' failed.
(/home/chriskl/local/lib/postgresql/plperl.so: Undefined symbol "eval_pv")
Chris
Christopher Kings-Lynne said:
1 is not acceptable, and 2 kinda sucks.
Please try adding this to SPI.xs,
#ifndef aTHX_
#define aTHX_
#endifrecompile and test by calling spi_exec_query with more than 2
arguments like this:Hmmm, compiled fine, but then I get this:
-bash-2.05b$ createlang -d test plperl
ERROR: could not load library
"/home/chriskl/local/lib/postgresql/plperl.so": dlopen
'/home/chriskl/local/lib/postgresql/plperl.so' failed.
(/home/chriskl/local/lib/postgresql/plperl.so: Undefined symbol
"eval_pv") createlang: language installation failed: ERROR: could not
load library "/home/chriskl/local/lib/postgresql/plperl.so": dlopen
'/home/chriskl/local/lib/postgresql/plperl.so' failed.
(/home/chriskl/local/lib/postgresql/plperl.so: Undefined symbol
"eval_pv")
progress is good ....
We seem to have a mixture of old-style and new-style calls which needs to be
cleaned up. I would relly appreciate some experienced eyes being cast over
this, if there are any around.
In the meantime, does this solve your problem?:
#ifndef eval_pv
#define eval_pv perl_eval_pv
#endif
cheers
andrew
At 2004-07-02 08:55:56 -0400, andrew@dunslane.net wrote:
In the meantime, does this solve your problem?:
#ifndef eval_pv
#define eval_pv perl_eval_pv
#endif
The right way to do this is to #include "ppport.h" from Devel::PPPort.
-- ams
Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
I am going to bet dollars to donuts that it is your perl version. Perl
5.00503 is ancient. Try upgrading to at least 5.6.
Not much I can do about that - it's builtin as part of FreeBSD 4.x series.
Chris isn't the only one who's going to insist on fixing this ;-)
$ perl -v
This is perl, version 5.005_03 built for PA-RISC2.0
regards, tom lane
On Fri, 2 Jul 2004, Tom Lane wrote:
Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
I am going to bet dollars to donuts that it is your perl version. Perl
5.00503 is ancient. Try upgrading to at least 5.6.Not much I can do about that - it's builtin as part of FreeBSD 4.x series.
Chris isn't the only one who's going to insist on fixing this ;-)
$ perl -v
This is perl, version 5.005_03 built for PA-RISC2.0
And on FreeBSD 4.x, you can force use of the perl 5.[68] ports by installing
one of them, and then issuing:
use.perl port
from a root shell.
(It won't help Tom, but will on FreeBSD. )
LER
--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 972-414-9812 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
Larry Rosenman said:
On Fri, 2 Jul 2004, Tom Lane wrote:
Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
I am going to bet dollars to donuts that it is your perl version.
Perl 5.00503 is ancient. Try upgrading to at least 5.6.Not much I can do about that - it's builtin as part of FreeBSD 4.x
series.Chris isn't the only one who's going to insist on fixing this ;-)
$ perl -v
This is perl, version 5.005_03 built for PA-RISC2.0And on FreeBSD 4.x, you can force use of the perl 5.[68] ports by
installing one of them, and then issuing:use.perl port
from a root shell.
(It won't help Tom, but will on FreeBSD. )
We will fix this, and we won't require this upgrade, I believe.
cheers
andrew
In the meantime, does this solve your problem?:
#ifndef eval_pv
#define eval_pv perl_eval_pv
#endif
Hmmm, I put it in there and rebuilt and reinstalled and tried again:
-bash-2.05b$ createlang -d test plperl
ERROR: could not load library
"/home/chriskl/local/lib/postgresql/plperl.so": dlopen
'/home/chriskl/local/lib/postgresql/plperl.so' failed.
(/home/chriskl/local/lib/postgresql/plperl.so: Undefined symbol "eval_pv")
createlang: language installation failed: ERROR: could not load library
"/home/chriskl/local/lib/postgresql/plperl.so": dlopen
'/home/chriskl/local/lib/postgresql/plperl.so' failed.
(/home/chriskl/local/lib/postgresql/plperl.so: Undefined symbol "eval_pv")
Same error? I wonder if I did something wrong...
Chris
We seem to have a mixture of old-style and new-style calls which needs to be
cleaned up. I would relly appreciate some experienced eyes being cast over
this, if there are any around.In the meantime, does this solve your problem?:
I went back to clean CVS and I noticed I had these warnings:
gcc -O2 -fno-strict-aliasing -fpic -DPIC -I.
-I/usr/libdata/perl/5.00503/mach/CORE -I../../../src/include -c -o
plperl.o plperl.c -MMD
plperl.c: In function `plperl_get_keys':
plperl.c:417: warning: passing arg 3 of `Perl_av_store' makes pointer
from integer without a cast
plperl.c: In function `plperl_get_elem':
plperl.c:452: warning: passing arg 2 of `Perl_hv_exists_ent' makes
pointer from integer without a cast
plperl.c: In function `plperl_func_handler':
plperl.c:930: warning: passing arg 3 of `Perl_av_store' makes pointer
from integer without a cast
Chris
On Fri, 2 Jul 2004, Larry Rosenman wrote:
On Fri, 2 Jul 2004, Tom Lane wrote:
Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
I am going to bet dollars to donuts that it is your perl version. Perl
5.00503 is ancient. Try upgrading to at least 5.6.Not much I can do about that - it's builtin as part of FreeBSD 4.x
series.Chris isn't the only one who's going to insist on fixing this ;-)
$ perl -v
This is perl, version 5.005_03 built for PA-RISC2.0And on FreeBSD 4.x, you can force use of the perl 5.[68] ports by installing
one of them, and then issuing:use.perl port
from a root shell.
(It won't help Tom, but will on FreeBSD. )
On a *reasonably* established FreeBSD box, that makes heavy use of perl
(ie. has *alot* of modules installed), I find that installing the port can
be a bit of a hardship ... on new machines, its something that I do
automatically, but it isn't a solution for older boxes, IMHO ...
----
Marc G. Fournier Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664
Christopher Kings-Lynne said:
We seem to have a mixture of old-style and new-style calls which needs
to be cleaned up. I would relly appreciate some experienced eyes being
cast over this, if there are any around.In the meantime, does this solve your problem?:
I went back to clean CVS and I noticed I had these warnings:
gcc -O2 -fno-strict-aliasing -fpic -DPIC -I.
-I/usr/libdata/perl/5.00503/mach/CORE -I../../../src/include -c -o
plperl.o plperl.c -MMD
plperl.c: In function `plperl_get_keys':
plperl.c:417: warning: passing arg 3 of `Perl_av_store' makes pointer
from integer without a cast
plperl.c: In function `plperl_get_elem':
plperl.c:452: warning: passing arg 2 of `Perl_hv_exists_ent' makes
pointer from integer without a cast
plperl.c: In function `plperl_func_handler':
plperl.c:930: warning: passing arg 3 of `Perl_av_store' makes pointer
from integer without a cast
I suspect it's the same problem, i.e. it doesn't know about eval_pv
Please see if the patch I just sent to -patches works for all these problems.
thanks
andrew
So we have three choices as I see it:
1) revert the change
2) require some minimally recent version of perl
3) fix the issue in placePreferences?
Joshua/Andrew -- do you want to take a shot at making this work on perl
5.00503?
I personally don't have any desire to make this work on a version of
perl that the perl community itself suggests that you should upgrade.
Perl 5.00503 is RedHat 6.2 genre... That is scary old.
I believe even RedHat 7.3 came with Perl 5.6 and that is old as well.
Sincerely,
Joshua D. Drake
Joe
--
Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com
Mammoth PostgreSQL Replicator. Integrated Replication for PostgreSQL
Joshua D. Drake said:
So we have three choices as I see it:
1) revert the change
2) require some minimally recent version of perl
3) fix the issue in placePreferences?
Joshua/Andrew -- do you want to take a shot at making this work on
perl 5.00503?I personally don't have any desire to make this work on a version of
perl that the perl community itself suggests that you should upgrade.Perl 5.00503 is RedHat 6.2 genre... That is scary old.
I believe even RedHat 7.3 came with Perl 5.6 and that is old as well.
I have my fingers crossed that the patch I sent in with an upgraded ppport.h
(which is supposed to handle these issues) will fix the matter. It was
simply generated with this command:
perl -MDevel::PPPort -e 'Devel::PPPort::WriteFile();'
I would like to support as wide a user base as is reasonably possible. If
this doesn't work we could restrict support to some version, but that would
be a fallback. Certainly, we should not let it get to the stage of
compile/link errors.
cheers
andrew
On Fri, 2 Jul 2004, Joshua D. Drake wrote:
So we have three choices as I see it:
1) revert the change
2) require some minimally recent version of perl
3) fix the issue in placePreferences?
Joshua/Andrew -- do you want to take a shot at making this work on perl
5.00503?I personally don't have any desire to make this work on a version of perl
that the perl community itself suggests that you should upgrade.
Well, backing it out is always an option, since the old version apparently
did work *shrug*
Personally, rather have the new on in there though ... :)
----
Marc G. Fournier Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664