Opened 5 years ago

Closed 5 years ago

#6787 defect closed duplicate (duplicate)

Twisted 1.3.10 needs -D_XPG4_2 on Solaris

Reported by: Dagobert Michelsen Owned by:
Priority: normal Milestone:
Component: core Keywords:
Cc: Branch:


For some fields in msghdr in /usr/include/sys/socket.h the definition of -D_XPG4_2 is needed on Solaris, otherwise the following error is occurring during compilation:

twisted/python/sendmsg.c: In function 'sendmsg_sendmsg':
twisted/python/sendmsg.c:206:19: error: 'struct msghdr' has no member named 'msg_control'
     message_header.msg_control = NULL;

Header definition:

struct msghdr {
        void            *msg_name;              /* optional address */
        socklen_t       msg_namelen;            /* size of address */
        struct iovec    *msg_iov;               /* scatter/gather array */
        int             msg_iovlen;             /* # elements in msg_iov */

#if defined(_XPG4_2) || defined(_KERNEL)
        void            *msg_control;           /* ancillary data */
        socklen_t       msg_controllen;         /* ancillary data buffer len */
        int             msg_flags;              /* flags on received message */
        caddr_t         msg_accrights;  /* access rights sent/received */
        int             msg_accrightslen;
#endif  /* defined(_XPG4_2) || defined(_KERNEL) */

This is tested with Python 2.7 on Solaris 10 Sparc.

Change History (1)

comment:1 Changed 5 years ago by Jean-Paul Calderone

Resolution: duplicate
Status: newclosed

Thanks. A few issues here:

  1. There is no Twisted 1.3.10. Please be careful in checking and reporting version numbers.
  2. Solaris is currently not a supported platform. For it to be a supported platform, we need to set up continuous integration for it (and to do that, we need a build slave to be donated). At various points in the past people have donated Solaris slaves but they never seem to last very long.
  3. Someone else noticed this same thing and filed #5728, so marking this as a duplicate.
Note: See TracTickets for help on using tickets.