Re: [boost] [asio].[hp-ux].[1_33_1] Build related issue

<Oliver.Kowalke <at> qimonda.com> writes:
This structure is defined in <sys/socket.h> and includes the fol- lowing members: caddr_t msg_name; /* optional address */ int msg_namelen; /* size of address */ struct iovec *msg_iov; /* scatter/gather array */ int msg_iovlen; /* # elements in msg_iov */ caddr_t msg_accrights; /* access rights
int msg_accrightslen;
This is the same behaviour on HP/UX. Without _XOPEN_SOURCE_EXTENDED (on HP/UX) you get the old HP/UX specific socket api (-> different structes like struct msghdr). The same seams to apply to Solaris 10. Maybe you can find an hint in the documention for a special compiler flag in order to get X/Open compliant functions and structures as Christopher uses in its code. It would be cumbersome to manage each special UNIX flaviour socket api in you code. Using an standardized api would be better for future investments and because the UNIX supplier can deprecate its old socket api too in future.
Oliver msghdr structure used by asio would require "_XOPEN_SOURCE_EXTENDED" or "_XOPEN_SOURCE=500/600" to be defined since it is compliant with X/Open Networking Services Library Functions and also would require to be
sent/received */ linked against -libxnet at least on Solaris. No particular compiler flags are mentioned in man pages. However, standards man page suggests that "-D_XOPEN_SOURCE=500" or "-D_XOPEN_SOURCE=600" be passed to compiler. It would be helpful if the asio library takes care of this in the header file. Regards, Gaurav Jain

msghdr structure used by asio would require "_XOPEN_SOURCE_EXTENDED" or "_XOPEN_SOURCE=500/600" to be defined since it is compliant with X/Open Networking Services Library Functions and also would require to be linked against -libxnet at least on Solaris.
I believe _XOPEN_SOURCE_EXTENDED is HP/UX specific.
No particular compiler flags are mentioned in man pages. However, standards man page suggests that "-D_XOPEN_SOURCE=500" or "-D_XOPEN_SOURCE=600" be passed to compiler. It would be helpful if the asio library takes care of this in the header file.
Not sure - what does AIX for instance require? Oliver
participants (2)
-
Gaurav.Jain@iflexsolutions.com
-
Oliver.Kowalke@qimonda.com