Operating System - HP-UX
1833549 Members
3010 Online
110061 Solutions
New Discussion

Re: perl module installation problem

 
SOLVED
Go to solution
Ernest Small
Advisor

perl module installation problem

I'm trying to install the Perl module Filesys::Statvfs_DF. I get the following error after executing the make command.
Thanks for the help!!

# /opt/perl/bin/perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Filesys::Statvfs
# make
cp Df.pm blib/lib/Filesys/Df.pm
cp Statvfs.pm blib/lib/Filesys/Statvfs.pm
/opt/perl/bin/perl -I/opt/perl/lib/5.6.1/PA-RISC1.1-thread-multi -I/opt/perl/lib/5.6.1 /opt/perl/lib/5.6.1/ExtUtils/xsubpp -typemap /opt/perl/lib/5.6.1/ExtUtils/typemap -typemap typemap Statvfs.xs > Statvfs.xsc && mv Statvfs.xsc Statvfs.c
Please specify prototyping behavior for Statvfs.xs (see perlxs manual)
gcc -c -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE -L/lib/pa1.1 -DUINT32_MAX_BROKEN -mpa-risc-1-1 -fPIC -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"0.65\" -DXS_VERSION=\"0.65\" -fPIC -I/opt/perl/lib/5.6.1/PA-RISC1.1-thread-multi/CORE Statvfs.c
cc1: warning: changing search order for system directory "/usr/local/include"
cc1: warning: as it has already been specified as a non-system directory
In file included from /opt/perl/lib/5.6.1/PA-RISC1.1-thread-multi/CORE/perl.h:713,
from Statvfs.xs:5:
/usr/include/sys/socket.h:439: parse error before "sendfile"
/usr/include/sys/socket.h:440: parse error before "bsize_t"
/usr/include/sys/socket.h:441: parse error before "sendpath"
/usr/include/sys/socket.h:442: parse error before "bsize_t"
/usr/include/sys/socket.h:456: parse error before "__sendfile64"
/usr/include/sys/socket.h:456: parse error before "bsize_t"
/usr/include/sys/socket.h:457: parse error before "__sendpath64"
/usr/include/sys/socket.h:457: parse error before "bsize_t"
/usr/include/sys/socket.h:459: parse error before "sendfile"
/usr/include/sys/socket.h: In function `sendfile':
/usr/include/sys/socket.h:459: parse error before "bsize_t"
/usr/include/sys/socket.h: At top level:
/usr/include/sys/socket.h:460: parse error before "sendpath"
/usr/include/sys/socket.h: In function `sendpath':
/usr/include/sys/socket.h:460: parse error before "bsize_t"
*** Error exit code 1

Stop.
14 REPLIES 14
H.Merijn Brand (procura
Honored Contributor
Solution

Re: perl module installation problem

the two cc1 warnings are harmless. (I guess you are using gcc-3.1 or up)

post lines 430-460 with line numbers for /usr/include/sys/socket.h
Enjoy, Have FUN! H.Merijn
Steve Steel
Honored Contributor

Re: perl module installation problem

Hi

Makesure the Gcc is the latest available

http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,547,00.html


Steve Steel
If you want truly to understand something, try to change it. (Kurt Lewin)
H.Merijn Brand (procura
Honored Contributor

Re: perl module installation problem

That's not the latest available :)

https://www.beepz.com/personal/merijn/index.html
Enjoy, Have FUN! H.Merijn
T G Manikandan
Honored Contributor

Re: perl module installation problem

YOu can download the make utility from

http://hpux.cs.utah.edu/

and use that for your
'make'.
I had problems during make
but downloading the make1.3.1 from the hp center it went fine.I think this is the gnu version of make.

Thanks
H.Merijn Brand (procura
Honored Contributor

Re: perl module installation problem

most recent GNU Make is also available in https://www.beepz.com/personal/merijn/index.html#Downloads :)
Enjoy, Have FUN! H.Merijn
Ernest Small
Advisor

Re: perl module installation problem

Thanks for the responses..

I'm using gcc 3.1. Is that the latest?

Procura- Below are the lines you requested.

T.G- I only see make-3.79.1. Is this the one I should install?

/usr/include/sys/socket.h

430 extern int recvfrom __((int, void *, int, int, void *, int *));
431 extern int recvmsg __((int, struct msghdr msg[], int));
432 extern int send __((int, const void *, int, int));
433 extern int sendto __((int, const void *, int, int, const void *, int));
434 extern int sendmsg __((int, const struct msghdr msg[], int));
435 extern int setsockopt __((int, int, int, const void *, int));
436 extern int shutdown __((int, int));
437 extern int socket __((int, int, int));
438 extern int socketpair __((int, int, int, int[2]));
439 extern sbsize_t sendfile __((int, int, off_t, bsize_t,
440 const struct iovec *, int));
441 extern sbsize_t sendpath __((int, char *, off_t, bsize_t,
442 const struct iovec *, int));
443 #if defined(_LARGEFILE64_SOURCE)
444 #ifdef __LP64__
445 #define sendfile64 sendfile
446 #define sendpath64 sendpath
447 #else /* __LP64__ */
448 extern sbsize64_t sendfile64 __((int, int, off64_t, bsize64_t,
449 const struct iovec *, int));
450 extern sbsize64_t sendpath64 __((int, char *, off64_t, bsize64_t,
451 const struct iovec *, int));
452 #endif /* __LP64 */
453 #endif /* _LARGEFILE64_SOURCE */
454
455 #ifdef _APP32_64BIT_OFF_T
456 extern sbsize64_t __sendfile64 __((int,int,off_t,bsize_t, const struct iovec *, int));
457 extern sbsize64_t __sendpath64 __((int,char *,off_t,bsize_t,const struct iovec *,int));
458 #ifndef __cplusplus
459 static sbsize_t sendfile(a,b,c,d,e,f) int a,b,f; off_t c; bsize_t d; const struct iovec * e
; { return __sendfile64(a,b,c,d,e,f); }
460 static sbsize_t sendpath(a,b,c,d,e,f) int a,f; char *b; off_t c; bsize_t d; const struct io
vec * e; { return __sendpath64(a,b,c,d,e,f); }
H.Merijn Brand (procura
Honored Contributor

Re: perl module installation problem

> I'm using gcc 3.1. Is that the latest?

No. 3.1.1 is the officially latest release, and it is *MUCH* better for hppa than 3.1

If you are on 11i, visit http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,547,00.html to fetch the moist recent version (3.2). On both 10.20 and 11.00, you can get the latest (both 3.1.1 and 3.2 available) from my ITRC page: hhtps://www.beepz.com/personal/merijn (please read the instructions). Version 3.2 was officially planned for end of July.

> Procura- Below are the lines you requested.
> T.G- I only see make-3.79.1. Is this the one I should install?

make is also available on the above link. And, yes, 3.79.1 is OK. GNU make is much better than any other make available.

438 extern int socketpair __((int, int, int, int[2]));
439 extern sbsize_t sendfile __((int, int, off_t, bsize_t,

It does not seem to know 'sbsize_t' type

l1:/usr/include 103 > grep sendfile sys/socket.h
* Valid values for the "flags" argument in sendfile()/sendpath().
extern ssize_t sendfile __((int, int, off_t, size_t,
extern ssize_t __sendfile64 __((int, int, off_t, size_t,
#define sendfile __sendfile64
l1:/usr/include 104 >

How old is your socket.h?

l1:/usr/include 108 > swlist -l file | grep socket.h
OS-Core.CORE-KRN: /usr/conf/h/socket.h
ProgSupport.C-INC: /usr/include/sys/socket.h
l1:/usr/include 109 > swlist -l product -l bundle -l subproduct| grep ProgSupport
# HPUXEng64RT.ProgSupport B.11.00 ProgSupport
HPUXEng64RT.ProgSupport.Manuals Manuals
HPUXEng64RT.ProgSupport.MinimumRuntime MinimumRuntime
HPUXEng64RT.ProgSupport.Runtime Runtime
l1:/usr/include 110 > what /usr/include/sys/socket.h
/usr/include/sys/socket.h:
socket.h 7.3 (Berkeley) 6/27/88
l1:/usr/include 111 >
Enjoy, Have FUN! H.Merijn
Jason Dinsdale
Frequent Advisor

Re: perl module installation problem

 
If a man talks in a forest and there is no woman to hear, is he still wrong?
Jason Dinsdale
Frequent Advisor

Re: perl module installation problem

Ladies & Gents,

Found this interesting piece of info:

http://curl.haxx.se/mail/lib-2002-04/0087.html

Apparently gcc (3.0 at least) is not supported on HPUX 11i !!

Oh dear....

Good news is that there is a workaround aka hack (of sorts).

Jason
If a man talks in a forest and there is no woman to hear, is he still wrong?
H.Merijn Brand (procura
Honored Contributor

Re: perl module installation problem

Not even with gcc-3.2 for 11i from http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,547,00.html ?

After installing that, you can make your gcc better fitted to *your* system by using it to recompile itself from the source. Guide to do that is on https://www.beepz.com/personal/merijn
Enjoy, Have FUN! H.Merijn
Jason Dinsdale
Frequent Advisor

Re: perl module installation problem

procura,

Thanks for that. Downloaded & installed the HP-baked gcc and now all is right with the socket.h world.

Perl 5.8.0 built.
CPAN module working.

Regards,

Jason
If a man talks in a forest and there is no woman to hear, is he still wrong?
Ernest Small
Advisor

Re: perl module installation problem

Got it to work!!!!! Thanks for the tips.
bill lanier_1
Occasional Contributor

Re: perl module installation problem

Please provide me, an HPUX newbie, with details of your compilation of the perl modules. I'm trying to get perl 5.8, hpux 11.11, dbi 1.37, and dbd 1.14 to play together, but get the following error: In file included from /opt/perl64/lib/5.8.0/PA-RISC2.0-LP64/CORE/perl.h:681,
from DBIXS.h:19,
from Perl.xs:1:
/usr/include/sys/socket.h:484: error: parse error before "sendfile"
/usr/include/sys/socket.h:485: error: parse error before "bsize_t"
/usr/include/sys/socket.h:486: error: parse error before "sendpath"
/usr/include/sys/socket.h:487: error: parse error before "bsize_t"
In file included from Perl.c:30:
Driver_xst.h: In function `dbdxst_bind_params':
Driver_xst.h:53: warning: long int format, different type arg (arg 3)
make: *** [Perl.o] Error 1
H.Merijn Brand (procura
Honored Contributor

Re: perl module installation problem

Find the answer (probably) here:
http://forums.itrc.hp.com/cm/QuestionAnswer/1,,0x41588b82cc91d711abdc0090277a778c,00.html

Enjoy, have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn