Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Proc::ProcessTable compilation error on AIX

by narasimp (Novice)
on Jan 06, 2016 at 09:35 UTC ( #1152063=perlquestion: print w/replies, xml ) Need Help??

narasimp has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I am trying to compile Proc::ProcessTable on AIX platform and i am seeing the following error. I have downloaded the latest available version of the module from cpan.
... cc_r -q64 -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem +=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 -DUSE_ +64_BIT_ALL -q64 -D_AIX5_3_64_ -D_AIX5_3_ -DAIX64 -DAIX=5 -UUSE_CLEARC +ASE -DBUILDBITS=64 -UCBR_OVII_REGISTERFPFILES -D_ALL_SOURCE -D_ANSI_C +_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN + -DNEED_PTHREAD_INIT -q64 -DUSE_64_BIT_ALL -q64 -D_AIX5_3_64_ -D_AIX5 +_3_ -DAIX64 -DAIX=5 -UUSE_CLEARCASE -DBUILDBITS=64 -UCBR_OVII_REGISTE +RFPFILES -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 - +qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q64 -DUSE_64_BI +T_ALL -q64 -D_AIX5_3_64_ -D_AIX5_3_ -DAIX64 -DAIX=5 -UUSE_CLEARCASE - +DBUILDBITS=64 -UCBR_OVII_REGISTERFPFILES -O -DVERSION=\"0.53\" -DXS +_VERSION=\"0.53\" "-I../.." OS.c
"OS.c", line 59.24: 1506-194 (S) Incomplete type is not allowed. "OS.c", line 60.10: 1506-007 (S) "struct userinfo" is undefined. "OS.c", line 71.41: 1506-043 (S) The operand of the sizeof operator is + not valid. "OS.c", line 112.34: 1506-043 (S) The operand of the sizeof operator i +s not valid. "OS.c", line 113.34: 1506-043 (S) The operand of the sizeof operator i +s not valid. "OS.c", line 161.32: 1506-043 (S) The operand of the sizeof operator i +s not valid. gmake[2]: *** [OS.o] Error 1
Please let me know your opinion or any ideas on how to fix this.

Replies are listed 'Best First'.
Re: Proc::ProcessTable compilation error on AIX
by vinoth.ree (Monsignor) on Jan 06, 2016 at 09:47 UTC
      Thanks, but i need to build it manually. this is one of the multiple modules which we need to build on all platforms. any idea on how to fix this error?
        "OS.c", line 60.10: 1506-007 (S) "struct userinfo" is undefined.

        Some observations that may or may not be helpful to you:
        In the Proc-ProcessTable-0.53 source, the file os/aix.c #includes just the one header:
        #include "os/aix.h"
        Further down, in the same file, we find the declaration:
        struct userinfo uinfo;
        and the error messages you got tell us that "struct userinfo" is not defined. This suggests that neither os/aix.h nor any of the header files that it pulls in define the "userinfo" struct.
        Yet, google suggests that the "userinfo" struct is to be found in /usr/include/procinfo.h, and os/aix.h definitely contains the line #include <procinfo.h>

        First, check to see whether your /usr/include/procinfo.h does define the userinfo struct.
        If it does not, then the question that needs to be answered is "Why is it missing ?".
        But if it does, then the question that needs to be answered is "How come I then get that error ?". (Is there another procinfo.h that gets loaded instead ?)

        There's a few guys on p5p who are familiar with (and interested in) aix, so I think it's worth asking there if you strike out here.

        Cheers,
        Rob

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1152063]
Approved by GrandFather
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (10)
As of 2020-07-08 13:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?