[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. |