Operating System - HP-UX
1833178 Members
2903 Online
110051 Solutions
New Discussion

RFH from Perl on HP-UX Gurus! Wrong prototypes in "$Config{installarchlib}/CORE/proto.h, or what?

 
SOLVED
Go to solution
Ralph Grothe
Honored Contributor

RFH from Perl on HP-UX Gurus! Wrong prototypes in "$Config{installarchlib}/CORE/proto.h, or what?

Hello,

I tried to install various CPAN modules that obviously rely on XS and need to be at least linked against HP-UX's libc
(e.g. Term::Readkey, Proc::ProcessTable, Filesys::Statvfs etc.)

After having configured CPAN::Config to pass our proxy, I started the usual e.g.

perl -MCPAN -e 'CPAN::Shell->install(Term::ReadKey)'

The initial download and Makefile generation works fine.
But the subsequent make aborts with the errors that you may find in the attachment.

Hm, strange because it worked on our 11.11 boxes.
Whereas this I ran on an 11.00 box.

Not knowing better I (probably superflously) tried to remap the header files with the comand as mentioned in h2ph's POD:

cd /usr/inclued && h2ph -r -l

but didn't help.

Apart from the here irrelevant proxy stuff the only additional flags I configured in the CPAN::Config (since it works such on our 11.11 boxes) is

# grep make /opt/perl5/lib/5.6.1/CPAN/Config.pm
'make' => q[/usr/bin/make],
'make_arg' => q[],
'make_install_arg' => q[],
'makepl_arg' => q[CC=/opt/ansic/bin/cc CCFLAGS=+Z],

It seems to me that the pic flag +Z is useless at least on 11.00.
But it was necessary on 11.11 to make things work.

Regards

Ralph

Madness, thy name is system administration
3 REPLIES 3
H.Merijn Brand (procura
Honored Contributor
Solution

Re: RFH from Perl on HP-UX Gurus! Wrong prototypes in "$Config{installarchlib}/CORE/proto.h, or what?

Where's -Ae? It still uses a gcc option: -fpic. That should be replaced with +Z

a5:/u/usr/merijn 110 > grep cc /pro/lib/perl5/5.8.0/PA-RISC2.0/Config.pm | grep "='"
cc='cc'
ccflags=' -Ae -DDEBUGGING -D_HPUX_SOURCE -Wl,+vnocompatwarnings -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 '
libpth='/pro/local/lib /lib /usr/lib /usr/ccs/lib /usr/local/lib'
Mcc='Mcc'
byacc='byacc'
cccdlflags='+Z'
ccdlflags='-Wl,-E -Wl,-B,deferred '
ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
ccname='cc'
ccsymbols='__HP_cc=111104 __STDC_EXT__=1'
ccversion='B.11.11.25985.GP'
cf_email='h.m.brand@hccnet.nl'
cppccsymbols='_HPUX_SOURCE=1 _ILP32=1 _PA_RISC2_0=1 __hp9000s800=1 __hppa=1 __hpux=1 __unix=1'
cpprun='cc -E -Aa -D__STDC_EXT__'
cppstdin='cc -E -Aa -D__STDC_EXT__'
d_access='define'
d_accessx='undef'
d_eaccess='undef'
d_locconv='define'
gccosandvers=''
gccversion=''
glibpth='/usr/shlib /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib '
i_sysaccess='undef'
libspath=' /pro/local/lib /lib /usr/lib /usr/ccs/lib /usr/local/lib'
perladmin='h.m.brand@hccnet.nl'
toke_cflags='ccflags="$ccflags -DARG_ZERO_IS_SCRIPT"'
yacc='/pro/local/bin/byacc'
yaccflags=''

And consider using CPANPLUS instead of CPAN.
http://search.cpan.org/author/KANE/CPANPLUS-0.042/ (though version 0.042 gave me trouble on HP-UX, so I still use 0.041)

Enjoy, have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Ralph Grothe
Honored Contributor

Re: RFH from Perl on HP-UX Gurus! Wrong prototypes in "$Config{installarchlib}/CORE/proto.h, or what?

Arrgh, sorry folks!

One should really read the output of "perl -V" before digging up the wrong grave.

Now I remember that I had built the Perl on this box with gcc %-{

# perl -V|grep gcc
config_args='-Dcc=gcc'
cc='gcc', ccflags ='-D_HPUX_SOURCE -L/lib/pa1.1 -DUINT32_MAX_BROKEN -fno-str
ict-aliasing -I/usr/local/include',
ccversion='', gccversion='2.95.2 19991024 (release)', gccosandvers='hpux11.0
0'

Looks, I will have to rebuild it before using HP-UX ANSI C, and then the errors hopefully will vanish.
Madness, thy name is system administration
Ralph Grothe
Honored Contributor

Re: RFH from Perl on HP-UX Gurus! Wrong prototypes in "$Config{installarchlib}/CORE/proto.h, or what?

Merijn,

I've just found the reason myself, before reading your reply.

So excuse bothering you.
Madness, thy name is system administration