bug-coreutils
[Top][All Lists]
Advanced

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

Re: timespec declaration issue on Tru64


From: Bruno Haible
Subject: Re: timespec declaration issue on Tru64
Date: Mon, 15 Dec 2008 13:41:04 +0100
User-agent: KMail/1.9.9

Daniel Richard G. wrote:
> I found that adding the following line makes the problem go away:
> 
> ----begin sig2str.c snippet----
> #include <config.h>
> 
> #include <limits.h>
> #include <sys/types.h>    <---- skadoosh
> #include <signal.h>
> #include <stdlib.h>
> #include <stdio.h>
> #include <string.h>
> 
> #include "sig2str.h"
> ----end sig2str.c snippet----

This looked weird enough that I looked into it as well. I found the culprit
to be the <sys/select.h> override in gnulib. This file is being included
from the system's <sys/types.h> and <sys/time.h> and itself includes
<sys/types.h> and <sys/time.h>, leading to some half-included files. I'm
applying this fix. Thanks for the report!

> The only conclusion I draw is that Tru64 is a PITA to deal with :-)

Well, this time, gnulib was at fault.

Bruno


2008-12-15  Bruno Haible  <address@hidden>

        Fix compilation error on OSF/1 4.0.
        * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
        <sys/time.h>, simply delegate to the system header.
        Reported by Daniel Richard G. <address@hidden>.

*** lib/sys_select.in.h.orig    2008-12-15 13:39:04.000000000 +0100
--- lib/sys_select.in.h 2008-12-15 13:36:20.000000000 +0100
***************
*** 15,28 ****
     along with this program; if not, write to the Free Software Foundation,
     Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
  
- #ifndef _GL_SYS_SELECT_H
- 
- #if @HAVE_SYS_SELECT_H@
- 
  # if __GNUC__ >= 3
  @PRAGMA_SYSTEM_HEADER@
  # endif
  
  /* On many platforms, <sys/select.h> assumes prior inclusion of
     <sys/types.h>.  */
  # include <sys/types.h>
--- 15,42 ----
     along with this program; if not, write to the Free Software Foundation,
     Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
  
  # if __GNUC__ >= 3
  @PRAGMA_SYSTEM_HEADER@
  # endif
  
+ /* On OSF/1, <sys/types.h> and <sys/time.h> include <sys/select.h>.
+    Simply delegate to the system's header in this case.  */
+ #if @HAVE_SYS_SELECT_H@ && defined __osf__ && (defined _SYS_TYPES_H_ && 
!defined _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H) && defined _OSF_SOURCE
+ 
+ # define _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H
+ # @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@
+ 
+ #elif @HAVE_SYS_SELECT_H@ && defined __osf__ && (defined _SYS_TIME_H_ && 
!defined _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H) && defined _OSF_SOURCE
+ 
+ # define _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H
+ # @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@
+ 
+ #else
+ 
+ #ifndef _GL_SYS_SELECT_H
+ 
+ #if @HAVE_SYS_SELECT_H@
+ 
  /* On many platforms, <sys/select.h> assumes prior inclusion of
     <sys/types.h>.  */
  # include <sys/types.h>
***************
*** 76,78 ****
--- 90,93 ----
  
  #endif /* _GL_SYS_SELECT_H */
  #endif /* _GL_SYS_SELECT_H */
+ #endif /* OSF/1 */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]