Bug 71201

Summary: xtrans-1.3.0 uses msghdr->msg_control etc. which require additional defines on Solaris
Product: xorg Reporter: Chí-Thanh Christopher Nguyễn <chithanh>
Component: Lib/xtransAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: Solaris   
Whiteboard:
i915 platform: i915 features:

Description Chí-Thanh Christopher Nguyễn 2013-11-03 23:43:48 UTC
Commmit adf920aa25c1709998c7c9276927061bd58e2dfc introduced a build failure on Solaris for libraries using xtrans:

In file included from /home/pub/lib/gentoo-prefix/usr/include/X11/Xtrans/transport.c:67:0,
                 from /tmp/chithanh/portage/x11-libs/libX11-1.6.2/work/libX11-1.6.2/src/xlibi18n/xim_trans.c:30:
/home/pub/lib/gentoo-prefix/usr/include/X11/Xtrans/Xtranssock.c: In function 'init_msg_recv':
/home/pub/lib/gentoo-prefix/usr/include/X11/Xtrans/Xtranssock.c:2210:8: error: 'struct msghdr' has no member named 'msg_control'
/home/pub/lib/gentoo-prefix/usr/include/X11/Xtrans/Xtranssock.c:2211:8: error: 'struct msghdr' has no member named 'msg_controllen'
/home/pub/lib/gentoo-prefix/usr/include/X11/Xtrans/Xtranssock.c: In function 'init_msg_send':
/home/pub/lib/gentoo-prefix/usr/include/X11/Xtrans/Xtranssock.c:2216:33: error: 'struct msghdr' has no member named 'msg_controllen'
/home/pub/lib/gentoo-prefix/usr/include/X11/Xtrans/Xtranssock.c: In function '_XimXTransSocketRead':
/home/pub/lib/gentoo-prefix/usr/include/X11/Xtrans/Xtranssock.c:2249:29: error: 'struct msghdr' has no member named 'msg_controllen'
/home/pub/lib/gentoo-prefix/usr/include/X11/Xtrans/Xtranssock.c:2252:23: error: 'struct msghdr' has no member named 'msg_flags'
/home/pub/lib/gentoo-prefix/usr/include/X11/Xtrans/Xtranssock.c:2253:23: error: 'struct msghdr' has no member named 'msg_flags'
/home/pub/lib/gentoo-prefix/usr/include/X11/Xtrans/Xtranssock.c:2255:31: error: 'struct msghdr' has no member named 'msg_controllen'

in Solaris sys/socket.h these functions are behind #if defined(_XPG4_2) which is implied by adding -D_XOPEN_SOURCE=1 -D_XOPEN_SOURCE_EXTENDED=1 to the build flags.
Comment 1 Alan Coopersmith 2013-11-08 05:04:41 UTC
Fixed in xtrans 1.3.2.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.