Operating System - HP-UX
1748180 Members
4145 Online
108759 Solutions
New Discussion юеВ

Some perl modules failed to compile after update-ux

 
Steven Lee_16
Occasional Contributor

Some perl modules failed to compile after update-ux

I have using the perl Mail-Box module for some time.
Yesteday, I updated my system using update-ux and the Mar 09 DVD. This updated perl to E.5.8.8.C and so I had to recompile Mail-box which has a number of pre-requisites. All the modules compiled ok except two - Encode and Mail::Transport::Dbx

Both these modules give me the same errors.

cc -c -I. -D_POSIX_C_SOURCE=199506L -D_REENTRANT -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings +DAportable +DS2.0 +Z -DUSE_SITECUSTOMIZE -DNO_HASH_SEED -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fast +Onolimit +Opromote_indirect_calls -DVERSION=\"0.07\" -DXS_VERSION=\"0.07\" +Z "-I/opt/perl_32/lib/5.8.8/PA-RISC1.1-thread-multi/CORE" Dbx.c
cc: "/opt/perl_32/lib/5.8.8/PA-RISC1.1-thread-multi/CORE/reentr.inc", line 1348: error 1619: Too many arguments for getspnam_r.
cc: "/opt/perl_32/lib/5.8.8/PA-RISC1.1-thread-multi/CORE/reentr.inc", line 1348: warning 526: Pointer implicitly converted to integral value in assignment.

System is a rp3410 running 11.31
C compiler is HP ANSI/C compiler B.11.31.04

Any help is appreciated.
9 REPLIES 9
Dennis Handly
Acclaimed Contributor

Re: Some perl modules failed to compile after update-ux

The man page has:
#include
struct spwd *getspnam_r(const char *name, struct spwd *result, char *buffer, size_t bufsiz);
What's on line 1348?

>+DAportable

There is no need to use this on 11.31.
Steven Lee_16
Occasional Contributor

Re: Some perl modules failed to compile after update-ux

Tried your suggestion, Dennis but still the same error. I am puzzled by the error message ie. mismatched number of arguments. Don't know what getspnam_r does or what args it requires.

Removed +DAportable and error still persists

/usr/bin/perl /opt/perl_32/lib/5.8.8/ExtUtils/xsubpp -nolinenumbers -typemap /opt/perl_32/lib/5.8.8/ExtUtils/typemap Byte.xs > Byte.xsc && mv Byte.xsc Byte.c
cc -c -I../Encode -D_POSIX_C_SOURCE=199506L -D_REENTRANT -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings +DS2.0 +Z -DUSE_SITECUSTOMIZE -DNO_HASH_SEED -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fast +Onolimit +Opromote_indirect_calls -DVERSION=\"2.03\" -DXS_VERSION=\"2.03\" +Z "-I/opt/perl_32/lib/5.8.8/PA-RISC1.1-thread-multi/CORE" Byte.c
cc: "/opt/perl_32/lib/5.8.8/PA-RISC1.1-thread-multi/CORE/reentr.inc", line 1348: error 1619: Too many arguments for getspnam_r.
cc: "/opt/perl_32/lib/5.8.8/PA-RISC1.1-thread-multi/CORE/reentr.inc", line 1348: warning 526: Pointer implicitly converted to integral value in assignment.
H.Merijn Brand (procura
Honored Contributor

Re: Some perl modules failed to compile after update-ux

You should not have to compile Encode, as it is a standard CORE mode, which comes with the distribution. Unless you really need the most recent version, I'd ignore that and just use what the distribution came with.

WHY are you using a 32bit perl on HP-UX 11.31? Not that I can say it would be the cause of your trouble, but most applications that link to perl (Oracle and such) require a 64bit perl on 11.31, so I would suggest you use the opt/perl_64 path instead.

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Dennis Handly
Acclaimed Contributor

Re: Some perl modules failed to compile after update-ux

>Tried your suggestion,

That was unrelated to your problem.

>Don't know what getspnam_r does or what args it requires.

You need to match up the source with that of the man page.

Again: What's on line 1348?
Shinji Teragaito_1
Respected Contributor

Re: Some perl modules failed to compile after update-ux

Here's the 1348 line on 11.31 0903:

return ((PL_REENTRANT_RETINT =
getspnam_r(
a,
&PL_reentrant_buffer->_spent_struct,
PL_reentrant_buffer->_spent_buffer,
PL_reentrant_buffer->_spent_size,
&PL_reentrant_buffer->_spent_ptr <-----
)) == 0 .. snip ..)

Other 2 lines to call getspnam_r have the fifth parameters, too.
getspnam_r with 5 parameters can be seen in Perl D.5.8.8.B,
D.5.8.8.D, D.5.8.9.A.BETA1 and E.5.8.8.C irrespective of 32-bit
or 64-bit. Bug ?
Dennis Handly
Acclaimed Contributor

Re: Some perl modules failed to compile after update-ux

>Shinji: Other 2 lines to call getspnam_r have the fifth parameters, too. getspnam_r with 5 parameters can be seen in ... irrespective of 32-bit or 64-bit. Bug?

It sure looks like it. That fifth parm should be removed. Even Solaris has only 4.
VK2COT
Honored Contributor

Re: Some perl modules failed to compile after update-ux

Hello,

I got "bitten" by the same problem.

Please install the following patches on the system with PERL version E.5.8.8.C installed:

PHSS_39651 ├в for HP-UX 11iv1
PHSS_39652 ├в for HP-UX 11iv2
PHSS_39653 ├в for HP-UX 11iv3

Cheers,

VK2COT
VK2COT - Dusan Baljevic
Steven Lee_16
Occasional Contributor

Re: Some perl modules failed to compile after update-ux

Thanks everyone who replied.
I will try out your suggestions.
However I had to resolve the problem quickly as our customers mail weren't being processed so I reverted to perl D.5.8.8.F and I was able to compile my modules.
I did make sure I am running 64bit perl this time. :-)
Steven Lee_16
Occasional Contributor

Re: Some perl modules failed to compile after update-ux

Resolved issue by reverting to an older version of perl but will try the suggestions posted when I can afford to do so.