You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Got the following build error while trying to build 32-bit OpenSSL 3.3.0 on AIX 7.1:
ssl/rio/poll_immediate.c: In function 'SSL_poll':
ssl/rio/poll_immediate.c:62:9: error: 'SSL_POLL_ITEM' has no member named 'rtnevents'
ssl/rio/poll_immediate.c:72:23: error: 'SSL_POLL_ITEM' has no member named 'reqevents'
ssl/rio/poll_immediate.c:88:21: error: 'SSL_POLL_ITEM' has no member named 'rtnevents'
ssl/rio/poll_immediate.c:88:21: error: 'SSL_POLL_ITEM' has no member named 'rtnevents'
ssl/rio/poll_immediate.c:100:17: error: 'SSL_POLL_ITEM' has no member named 'rtnevents'
ssl/rio/poll_immediate.c:100:17: error: 'SSL_POLL_ITEM' has no member named 'rtnevents'
ssl/rio/poll_immediate.c:107:13: error: 'SSL_POLL_ITEM' has no member named 'rtnevents'
ssl/rio/poll_immediate.c:107:13: error: 'SSL_POLL_ITEM' has no member named 'rtnevents'
ssl/rio/poll_immediate.c:112:13: error: 'SSL_POLL_ITEM' has no member named 'rtnevents'
ssl/rio/poll_immediate.c:112:13: error: 'SSL_POLL_ITEM' has no member named 'rtnevents'
ssl/rio/poll_immediate.c:115:13: error: 'SSL_POLL_ITEM' has no member named 'rtnevents'
The root cause is ‘events’ and ‘revents’ are defined as macro for 32 bit in /usr/include/sys/poll.h, so in ssl/rio/poll_immediate.c, any reference of ‘events’ and ‘revents’ are replaced by ‘reqevents’ and ‘rtnevents’ respectively, which is unexpected.
Ref: Snippet of usr/include/sys/poll.h
…
#ifdef __64BIT__
/* pollfd.fd is always a 32 bit entity (XOPEN) */
struct pollfd
{
int fd; /* file descriptor or file ptr */
short events; /* requested events */
short revents; /* returned events */
};
#else /* __64BIT__ */
struct pollfd
{
long fd; /* file descriptor or file ptr */
ushort reqevents; /* requested events */
ushort rtnevents; /* returned events */
};
#define events reqevents /* SVR3,4 pollfd member name */
#define revents rtnevents /* SVR3,4 pollfd member name */
#endif /* __64BIT__ */
…
The text was updated successfully, but these errors were encountered:
That seems....rather unkind for AIX to globally define such a generic name like this. They've basically restricted any using code from using the term events/revents here.
It should be fairly easy to fix, but IBM shouldn't do that.
Got the following build error while trying to build 32-bit OpenSSL 3.3.0 on AIX 7.1:
The root cause is ‘events’ and ‘revents’ are defined as macro for 32 bit in /usr/include/sys/poll.h, so in ssl/rio/poll_immediate.c, any reference of ‘events’ and ‘revents’ are replaced by ‘reqevents’ and ‘rtnevents’ respectively, which is unexpected.
Ref: Snippet of usr/include/sys/poll.h
The text was updated successfully, but these errors were encountered: