URL: <http://savannah.gnu.org/bugs/?42524>
Summary: IRIX: build problems SCM_RIGHTS is undefined / _XOPEN_SOURCE Project: GNU Screen Submitted by: None Submitted on: Sun 08 Jun 2014 01:46:54 PM UTC Category: Build/Install Severity: 3 - Normal Priority: 5 - Normal Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any Release: 4.2.1 Fixed Release: None Planned Release: None Work Required: None _______________________________________________________ Details: Compiling screen 4.2.1 fails on IRIX 6.5.30 in screen.c, since 'The identifier "SCM_RIGHTS" is undefined.'. "SCM_RIGHTS" is defined in sys/sockets.h #if defined(_KERNEL) || defined(_XOPEN_SOURCE) /* "Socket"-level control message types: */ #define SCM_RIGHTS 0x01 /* access rights (array of int) */ #endif /* (_KERNEL || _XOPEN_SOURCE) */ however, if I set CPPFLAGS to -D_XOPEN_SOURCE, configure fails with 'you have neither usable sockets nor usable pipes -> no screen'. This is caused by cc-1077 c99: ERROR File = /usr/include/sys/select.h, Line = 83 The indicated declaration has no storage class or type specifier. __SGI_LIBC_BEGIN_NAMESPACE_STD ^ and 100 further errors, both when checking for sockets and fifos. The __SGI_LIBC_BEGIN_NAMESPACE_STD is not protected by any ifdefs, if I see that correctly. It would be defined in internal/sgimacros.h. I haven't seen any mechanism that would cause sgimacros.h to be included from sys/select.h, but both sys/time.h or sys/types.h do so. Therefore, moving the include statements for sys/types.h or sys/time.h before sys/select.h in the test programs in configure.in would help. However, _XOPEN_SOURCE causes "Declaration is incompatible" errors for connect, bind, accept and setregid (and friends) in osdef.h, as well as Errors concerning ut_exit.e_termination (the field is called __e_termination and there's a #define e_termination __e_termination if _XOPEN_SOURCE) and the lack of a proper definition for and UTMPFILE. All those work without _XOPEN_SOURCE. No matter what I've tried so far as workarounds, including just compiling with -DSCM_RIGHTS=0x01 to escape the whole XOPEN_SOURCE mess, I end up with a screen binary that exits with "Bad tty '/dev/ttyq0'" screen 4.0.3 works without any patches at all. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?42524> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/