[ZBX-8131] Can not compile Zabbix agent on AIX 7.1 Created: 2014 Apr 22 Updated: 2017 May 30 Resolved: 2014 May 09 |
|
Status: | Closed |
Project: | ZABBIX BUGS AND ISSUES |
Component/s: | Agent (G) |
Affects Version/s: | 2.2.3 |
Fix Version/s: | None |
Type: | Incident report | Priority: | Major |
Reporter: | Alexey Pustovalov | Assignee: | Unassigned |
Resolution: | Cannot Reproduce | Votes: | 1 |
Labels: | agent, aix, compilation | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified |
Issue Links: |
|
Description |
Please check comments. |
Comments |
Comment by Alexey Pustovalov [ 2014 Apr 22 ] |
make Making all in src Making all in libs Making all in zbxcrypto depbase=`echo md5.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; gcc -DHAVE_CONFIG_H -I. -I../../../include -g -O2 -MT md5.o -MD -MP -MF $depbase.Tpo -c -o md5.o md5.c && mv -f $depbase.Tpo $depbase.Po In file included from /usr/include/netdb.h:50, from ../../../include/sysinc.h:192, from ../../../include/common.h:23, from md5.c:54: /usr/include/netinet/in.h:98: error: two or more data types in declaration specifiers In file included from /usr/include/sys/cred.h:52, from /usr/include/sys/thread.h:42, from /usr/include/sys/ptrace.h:28, from /usr/include/sys/proc.h:42, from /usr/include/sys/pri.h:43, from /usr/include/sys/sched.h:38, from /usr/include/sys/corral.h:22, from /usr/include/libperfstat.h:28, from ../../../include/sysinc.h:298, from ../../../include/common.h:23, from md5.c:54: /usr/include/sys/secattr.h:50: error: expected specifier-qualifier-list before 'rid_t' /usr/include/sys/secattr.h:70: error: expected specifier-qualifier-list before 'authnum_t' In file included from /usr/include/sys/thread.h:42, from /usr/include/sys/ptrace.h:28, from /usr/include/sys/proc.h:42, from /usr/include/sys/pri.h:43, from /usr/include/sys/sched.h:38, from /usr/include/sys/corral.h:22, from /usr/include/libperfstat.h:28, from ../../../include/sysinc.h:298, from ../../../include/common.h:23, from md5.c:54: /usr/include/sys/cred.h:338: error: expected specifier-qualifier-list before 'rid_t' In file included from /usr/include/net/if.h:148, from /usr/include/sys/corral.h:24, from /usr/include/libperfstat.h:28, from ../../../include/sysinc.h:298, from ../../../include/common.h:23, from md5.c:54: /usr/include/net/route.h:310: error: expected specifier-qualifier-list before 'eye_catch8b_t' make: The error code from the last command is 1. Stop. make: The error code from the last command is 1. Stop. make: The error code from the last command is 1. Stop. make: The error code from the last command is 1. Stop. |
Comment by Alexey Pustovalov [ 2014 Apr 22 ] |
/usr/include/netinet/in.h +90 #include <end_strict_stdtypes.h> +91 /* +92 * socklen_t also has a similar definition in sys/socket.h +93 * If we need to change this typedef, it must be changed +94 * in sys/socket.h also +95 */ +96 #ifndef __SOCKLEN_T +97 #define __SOCKLEN_T +98 typedef __ulong32_t socklen_t; +99 #endif +100 +101 /* +102 * Constants and structures defined by the internet system, +103 * Per RFC 790, September 1981. |
Comment by Alexey Pustovalov [ 2014 Apr 22 ] |
/usr/include/sys/secattr.h +48 /* Security attributes for subjects (process) */ +49 struct subsec_attr { +50 rid_t roles[MAX_ROLES]; /* Maximum no. of supported roles */ +51 short nroles; /* Number of roles */ +52 short ntrauths; /* Number of traced auths */ +53 uint32_t flags; /* Flags */ +54 privg_t effpriv; /* Effective privilege vector */ +55 privg_t maxpriv; /* Maximum privilege vector */ +56 privg_t inhpriv; /* Inheritable privilege vector */ +57 privg_t limpriv; /* Limited privilege vector */ +58 privg_t usedpriv; /* Used privilege vector */ +59 #ifdef _KERNEL +60 authnum_t *trauths; /* Buffer for tracing authorizations */ +61 #else +62 int reserved[2]; /* Reserved */ +63 #endif +64 sec_labels_t labels; /* All Labels */ +65 }; +66 typedef struct subsec_attr subsec_attr_t; +67 +68 /* Security attributes for objects (File System, Privcmd) */ +69 struct fsobjsec_attr { +70 authnum_t accessAuths[MAX_AAS_SIZ]; /* Access Authorizations */ +71 authnum_t privAuths[MAX_APS_SIZ]; /* Privileged Authorizations */ +72 privg_t authPrivs[MAX_APS_SIZ]; /* Authorized Privileges */ +73 privg_t innatePrivs; /* Innate Privileges */ +74 privg_t inheritPrivs; /* Inheritable Privileges */ +75 uint32_t secFlags; /* File Security Flag */ +76 rid_t aroles[MAX_AROLES_SIZ]; /* Authenticated Roles */ +77 }; +78 typedef struct fsobjsec_attr fsobjsec_attr_t; +79 +80 /* Special auth ids for accessAuths */ +81 #define ALLOW_OWNER 1 /* Allow file owner to execute */ +82 #define ALLOW_GROUP 2 /* Allow file group member to execute */ +83 #define ALLOW_ALL 3 /* Allow everyone to execute */ +84 #define BYPASS_AUTH 4 /* Not to assign in privcmd, for traceauth only */ +85 |
Comment by Aleksandrs Saveljevs [ 2014 Apr 22 ] |
In order to proceed with this issue, please execute the following steps:
|
Comment by Aleksandrs Saveljevs [ 2014 Apr 22 ] |
Also, could you please execute the following steps in a new directory:
|
Comment by Aleksandrs Saveljevs [ 2014 Apr 22 ] |
Also, could you please tell us why compiler takes includes from locations like "/opt/freeware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.2.0/include/stdio.h"? Here, "powerpc-ibm-aix5.3.0.0" is suspicious, considering that this issue is about AIX 7.1. |
Comment by Marzena Piko [ 2014 Apr 22 ] |
List of rpm-s AIX-rpm-7.1.2.15-1 tcl-8.4.7-3 tk-8.4.7-3 expect-5.42.1-3 screen-3.9.10-2 sudo-1.6.9p23-2noldap unzip-5.51-1 ##### All next rpm-a are downloaded from http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/alpha.html#R fo zabbix compilation: autoconf-2.63-1 gcc-4.2.0-3 gcc-c++-4.2.0-3 libgcc-4.2.0-3 libstdc++-4.2.0-3 libstdc++-devel-4.2.0-3 m4-1.4.13-1 make-3.81-1 automake-1.11-1 libtool-1.5.8-2 coreutils-5.2.1-2 bash-4.2-1 cpio-2.11-1 http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/alpha.html#R |
Comment by Marzena Piko [ 2014 Apr 22 ] |
Compilation was not successfull: [ZABBIX_DEV_TEST]root@p032063zabbixde:# gcc -g -O2 -c simple.c In file included from /usr/include/sys/cred.h:52, from /usr/include/sys/thread.h:42, from /usr/include/sys/ptrace.h:28, from /usr/include/sys/proc.h:42, from /usr/include/sys/pri.h:43, from /usr/include/sys/sched.h:38, from /usr/include/sys/corral.h:22, from /usr/include/libperfstat.h:28, from simple.c:2: /usr/include/sys/secattr.h:50: error: expected specifier-qualifier-list before 'rid_t' /usr/include/sys/secattr.h:70: error: expected specifier-qualifier-list before 'authnum_t' In file included from /usr/include/sys/thread.h:42, from /usr/include/sys/ptrace.h:28, from /usr/include/sys/proc.h:42, from /usr/include/sys/pri.h:43, from /usr/include/sys/sched.h:38, from /usr/include/sys/corral.h:22, from /usr/include/libperfstat.h:28, from simple.c:2: /usr/include/sys/cred.h:338: error: expected specifier-qualifier-list before 'rid_t' In file included from /usr/include/net/if.h:148, from /usr/include/sys/corral.h:24, from /usr/include/libperfstat.h:28, from simple.c:2: /usr/include/net/route.h:310: error: expected specifier-qualifier-list before 'eye_catch8b_t' |
Comment by Aleksandrs Saveljevs [ 2014 Apr 22 ] |
It seems to me that if such a simple file including only <netdb.h> and <libperfstat.h> does not compile, then that probably suggests that system headers are not in order. |
Comment by Alexey Pustovalov [ 2014 May 09 ] |
corrupted OS header files. |