473,772 Members | 2,292 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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_pe rl_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_t uple_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*******@postg resql.org so that your
message can get through to the mailing list cleanly

Nov 12 '05 #1
6 1375
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*******@postg resql.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
1739
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 self-extracting executable update programs in a famous installer style with adjustable user-friendly interface and multilingual support. Enhanced with features like easy-to-use interface including a Wizard mode, powerful patch engine, integrated...
0
1087
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: https://www.commandprompt.com/entry.lxp?lxpe=285 Sincerely, Joshua Drake
1
396
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: ERROR: Could not convert UTF-8 to ISO8859-1 Any way I get around this? CREATE OR REPLACE FUNCTION public.mainframe_description(varchar) RETURNS varchar AS ' my($desc) = @_;
2
5290
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: ../configure --with-openssl --enable-odbc --with-perl --enable-multibyte
4
3795
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 plplerl template1 No matter what I try, I keep getting this error:
2
1559
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 ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend
10
1530
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 module, it will only run on the untrusted plperlu. Is this the only way to run queries (SELECT, INSERT, UPDATE) using plperl? What are the consequences and things to look out for when running untrusted languages?
3
3696
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 install without a problem, but executing: createlang -u postgres plperl template1 produces the result: createlang: language installation failed: ERROR: could not load library "/usr/lib/postgresql/plperl.so": libperl.so: cannot open shared object...
0
2575
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 installation failed: ERROR: could not load library "/usr/ocal/pgsql/lib/plperl.so": /usr/local/pgsql/lib/plperl.so: undefined symbol: Perl_croak can somebody explain where the problem is. File /usr/local/pgsql/plperl.so exists.
0
10264
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
10039
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9914
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8937
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7461
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6716
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5355
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5484
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3610
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.