473,320 Members | 1,916 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

building 7.4 with plperl


Before I go deep into this - does anyone have the quick fix for this ?

Some facts - the 7.3.4 version of plperl.c has the same errors in the
7.4 tree.
The 7.4 version of plperl.c (with some error handling API calls
commented out) compiles fine in the 7.3.4 tree.
(Same machine - same install of perl !) Points to using some alternate
perl API probably by macro collision ?
gcc -O2 -fno-strict-aliasing -fpic -I.
-I/usr/lib/perl5/5.6.1/i386-linux/CORE -I../../../src/include
-D_GNU_SOURCE -c -o plperl.o plperl.c
plperl.c: In function `plperl_create_sub':
plperl.c:306: warning: passing arg 1 of `perl_call_pv' from incompatible
pointer type
plperl.c:306: warning: passing arg 2 of `perl_call_pv' makes pointer
from integer without a cast
plperl.c:306: error: too few arguments to function `perl_call_pv'
plperl.c:317: error: `thr' undeclared (first use in this function)
plperl.c:317: error: (Each undeclared identifier is reported only once
plperl.c:317: error: for each function it appears in.)
plperl.c: In function `plperl_call_perl_func':
plperl.c:425: warning: passing arg 1 of `perl_call_sv' from incompatible
pointer type
plperl.c:425: warning: passing arg 2 of `perl_call_sv' makes pointer
from integer without a cast
plperl.c:425: error: too few arguments to function `perl_call_sv'
plperl.c:437: error: `thr' undeclared (first use in this function)
plperl.c: In function `plperl_build_tuple_argument':
plperl.c:810: warning: passing arg 1 of `perl_eval_pv' from incompatible
pointer type
plperl.c:810: warning: passing arg 2 of `perl_eval_pv' makes pointer
from integer without a cast
plperl.c:810: error: too few arguments to function `perl_eval_pv'
make: *** [plperl.o] Error 1

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to ma*******@postgresql.org so that your
message can get through to the mailing list cleanly

Nov 12 '05 #1
6 1347
Gianni Mariani wrote:

Before I go deep into this - does anyone have the quick fix for this ?

Some facts - the 7.3.4 version of plperl.c has the same errors in the
7.4 tree.
The 7.4 version of plperl.c (with some error handling API calls
commented out) compiles fine in the 7.3.4 tree.
(Same machine - same install of perl !) Points to using some
alternate perl API probably by macro collision ?


/* Define to 1 to build client libraries as thread-safe code.
(--enable-thread-safety) */
#define USE_THREADS 1

So this seems to be the collision.

--enable-thread-safety is a new option for libpq - however this collides
with perl's use of the same macro.

I suspect that the right answer would be to change the name USE_THREADS
to PG_USE_THREADS for pg.

Quick and nasty work around patch:

--- plperl.c.7.4 Thu Sep 4 08:16:39 2003
+++ plperl.c Mon Nov 17 23:07:05 2003
@@ -55,6 +55,7 @@
#include "catalog/pg_proc.h"
#include "catalog/pg_type.h"

+#undef USE_THREADS
/* perl stuff */
#include "EXTERN.h"
#include "perl.h"

another fix would be to make plplerl use the explicit api.


---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Nov 12 '05 #2
Quoting Gianni Mariani <gi****@mariani.ws>:
Gianni Mariani wrote:

Before I go deep into this - does anyone have the quick fix for this ?

Some facts - the 7.3.4 version of plperl.c has the same errors in the
7.4 tree.
The 7.4 version of plperl.c (with some error handling API calls
commented out) compiles fine in the 7.3.4 tree.
(Same machine - same install of perl !) Points to using some
alternate perl API probably by macro collision ?


/* Define to 1 to build client libraries as thread-safe code.
(--enable-thread-safety) */
#define USE_THREADS 1

So this seems to be the collision.

--enable-thread-safety is a new option for libpq - however this collides
with perl's use of the same macro.

I suspect that the right answer would be to change the name USE_THREADS
to PG_USE_THREADS for pg.

Quick and nasty work around patch:

--- plperl.c.7.4 Thu Sep 4 08:16:39 2003
+++ plperl.c Mon Nov 17 23:07:05 2003
@@ -55,6 +55,7 @@
#include "catalog/pg_proc.h"
#include "catalog/pg_type.h"

+#undef USE_THREADS
/* perl stuff */
#include "EXTERN.h"
#include "perl.h"

another fix would be to make plplerl use the explicit api.


---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster


I had this same issue as well but now I'm *slightly* concerned since most of my
code is perl. How soon would issue be reviewed? (not that I'm NOT going to use
your patch for right now).

--
Keith C. Perry, MS E.E.
Director of Networks & Applications
VCSN, Inc.
http://vcsn.com

____________________________________
This email account is being host by:
VCSN, Inc : http://vcsn.com

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Nov 12 '05 #3
Quoting "Keith C. Perry" <ne******@vcsn.com>:
Quoting Gianni Mariani <gi****@mariani.ws>:
Gianni Mariani wrote:

Before I go deep into this - does anyone have the quick fix for this ?

Some facts - the 7.3.4 version of plperl.c has the same errors in the
7.4 tree.
The 7.4 version of plperl.c (with some error handling API calls
commented out) compiles fine in the 7.3.4 tree.
(Same machine - same install of perl !) Points to using some
alternate perl API probably by macro collision ?


/* Define to 1 to build client libraries as thread-safe code.
(--enable-thread-safety) */
#define USE_THREADS 1

So this seems to be the collision.

--enable-thread-safety is a new option for libpq - however this collides
with perl's use of the same macro.

I suspect that the right answer would be to change the name USE_THREADS
to PG_USE_THREADS for pg.

Quick and nasty work around patch:

--- plperl.c.7.4 Thu Sep 4 08:16:39 2003
+++ plperl.c Mon Nov 17 23:07:05 2003
@@ -55,6 +55,7 @@
#include "catalog/pg_proc.h"
#include "catalog/pg_type.h"

+#undef USE_THREADS
/* perl stuff */
#include "EXTERN.h"
#include "perl.h"

another fix would be to make plplerl use the explicit api.


---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster


I had this same issue as well but now I'm *slightly* concerned since most of
my
code is perl. How soon would issue be reviewed? (not that I'm NOT going to
use
your patch for right now).

--
Keith C. Perry, MS E.E.
Director of Networks & Applications
VCSN, Inc.
http://vcsn.com


I normally wouldn't reply to myself but I didn't have the original message. I
just built 7.4 on a Slackware 9.1 release with the following configure command:

../configure --enable-thread-safety --with-perl --with-openssl --with-tcl

I did not get any errors. The perl version was 5.8.0 and GCC version was 3.2.3

On the box that did get errors, it was perl 5.6.1 and gcc 2.95.3 (slackware 8.0
me thinks)

I hope this additional information helps.
--
Keith C. Perry, MS E.E.
Director of Networks & Applications
VCSN, Inc.
http://vcsn.com

____________________________________
This email account is being host by:
VCSN, Inc : http://vcsn.com

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

Nov 12 '05 #4
Keith C. Perry wrote:
I had this same issue as well but now I'm *slightly* concerned since most of my
code is perl. How soon would issue be reviewed? (not that I'm NOT going to use
your patch for right now).


I suspect that this is only an issue when you use
"--enable-thread-safety" which according to the release notes is only
for libpq and only fixes MT issues on connection start-up. So
theoretically, if you're using plperl in V7.3.4 or earlier, you simply
don't need "--enable-thread-safety" and so you may compile happily
without it. (That's the theory anyway).

This certainly needs to be addressed (patch or document) but it's not at
all an issue for someone migrating from an earlier release (not a
regression). I hope that you're slightly concerned *no more*.

G

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

Nov 12 '05 #5
Quoting Gianni Mariani <gi****@mariani.ws>:
Keith C. Perry wrote:
I had this same issue as well but now I'm *slightly* concerned since most of

my
code is perl. How soon would issue be reviewed? (not that I'm NOT going to

use
your patch for right now).


I suspect that this is only an issue when you use
"--enable-thread-safety" which according to the release notes is only
for libpq and only fixes MT issues on connection start-up. So
theoretically, if you're using plperl in V7.3.4 or earlier, you simply
don't need "--enable-thread-safety" and so you may compile happily
without it. (That's the theory anyway).

This certainly needs to be addressed (patch or document) but it's not at
all an issue for someone migrating from an earlier release (not a
regression). I hope that you're slightly concerned *no more*.

G


I figured that much and yes I'm not concerned anymore but it does seem like it
might be version issue as well with perl and/or gcc since I did have a
successful compilation. I've got a project to move all my servers to Slackware
9.1 which will make this non-issue for me but for the original poster your patch
or omitting the "--enable-thread-safety" option look like equally good resolutions.

Thanks

--
Keith C. Perry, MS E.E.
Director of Networks & Applications
VCSN, Inc.
http://vcsn.com

____________________________________
This email account is being host by:
VCSN, Inc : http://vcsn.com

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Nov 12 '05 #6
Gianni Mariani writes:
The 7.4 version of plperl.c (with some error handling API calls
commented out) compiles fine in the 7.3.4 tree.
(Same machine - same install of perl !) Points to using some
alternate perl API probably by macro collision ?


/* Define to 1 to build client libraries as thread-safe code.
(--enable-thread-safety) */
#define USE_THREADS 1

So this seems to be the collision.


Fixed in 7.4 branch and current.

--
Peter Eisentraut pe*****@gmx.net
---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to ma*******@postgresql.org so that your
message can get through to the mailing list cleanly

Nov 12 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: PatchFactory Support | last post by:
Description: Professional and easy-to-use patch building environment that can help you to create instant patch packages for software and file updating. Generated patch packages are small size...
0
by: Joshua D. Drake | last post by:
Hello, There is now an updated version of plPerl with trigger support available at the Command Prompt community page. It can be viewed with documentation here:...
1
by: Patrick Hatcher | last post by:
Trying to create a plperl function to strip non-friendly mainframe characters from a string. However, when I try to add the Trademark symbol (â„¢) as a replace criteria, PG spits back an error:...
2
by: Christopher Murtagh | last post by:
Greetings, I'm trying to build 7.3.4 and I've come across two problems, one during the configure and the other afterward. Problem 1) Trying to build with openssl support gives this: ...
4
by: Ed L. | last post by:
I'm trying to load plperl to experiment with it in 7.3.4 with perl v5.8.0. I've basically tried the following: configure --with-perl, then initdb, then start postmaster, then createlang...
2
by: David Garamond | last post by:
Does it currently work? src/backend/utils/mb/conversion_procs/*/ is not building anything, and 'make install' fails because it tries to copy *.so files. -- dave ...
10
by: Robert Fitzpatrick | last post by:
I have plperl installed my PostgreSQL 7.4.2 server, but from what I understand in chapter 39.3 of the docs, you cannot access the databases without DBD::PgSPI. According to the readme for that...
3
by: Eric E | last post by:
Hi, I have an installation of Postgres 7.4.2 on SuSE 9.1. This version of SuSE comes with a binary for plperl and several other postgres procedural languages. All the others, including plpgsql...
0
by: rski | last post by:
I've installed postgres v. 8.2.4 with plperl support (--with-perl option with configure). But when I try to create plperl languge (createlang plperl) i've got an error createlang: language...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
0
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
0
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.