pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/54608: devel/glib2 fails to build on Solaris 11

On Tue, 8 Oct 2019, Patrick Welche wrote:

For the purposes of an upstream report, could you please post the errors you saw?

Sure - here it comes...

In file included from ../glib/glib.h:30:0,
                 from ../gobject/gbinding.h:28,
                 from ../glib/glib-object.h:23,
                 from ../gio/gioenums.h:28,
                 from ../gio/giotypes.h:28,
                 from ../gio/gsocket.h:30,
                 from ../gio/gsocket.c:30:
../gio/gsocket.c:4460:43: error: 'struct msghdr' has no member named 'msg_controllen'; did you mean 'msg_namelen'?
       _msg->msg_control = g_alloca (_msg->msg_controllen); \

Solaris header file sys/socket.h has the following definition of the msghdr struct (msg_controllen is only present when _XPG4_2 is defined):

 * Message header for recvmsg and sendmsg calls.
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(__lint) || 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) */

Based on the standards(5) Solaris man page, in order to enable XPGv2 (SUS) ...
   XPG4            The  application  must  define  _XOPEN_SOURCE  and  set
                   _XOPEN_VERSION=4.  If  _XOPEN_SOURCE  is defined with a
                   value, the value must be less than 500.

Home | Main Index | Thread Index | Old Index