[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Build errors on Solaris 2.6 & 7
From: |
Paul Eggert |
Subject: |
Re: Build errors on Solaris 2.6 & 7 |
Date: |
Sat, 19 Jan 2013 11:55:02 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 |
On 01/19/2013 05:43 AM, Tom G. Christensen wrote:
> On 01/12/2013 11:49 AM, Tom G. Christensen wrote:
>> For Solaris 2.6 the timestruc_t problem remains and I will look at that
>> next.
>
> On Solaris 2.6 <time.h> includes <sys/time.h> for struct timespec which
> causes a problem in the include order.
> It ends up as gnulib <time.h> -> system <time.h> -> gnulib <sys/time.h> ->
> system <sys/time.h> -> gnulib <sys/types.h> -> system <sys/types.h> -> gnulib
> <sys/select.h> -> gnulib <signal.h> -> system <sys/signal.h> -> system
> <sys/siginfo.h>.
Thanks for the diagnosis. Does the following fix things, and is its
ChangeLog entry accurate? If it doesn't fix things, what is the
include pattern for "#include <time.h>" when Gnulib isn't involved?
as that will help us decide how to break the circularity better.
---
ChangeLog | 12 ++++++++++++
lib/sys_select.in.h | 14 +++++++-------
2 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 8218eb3..b182b7c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2013-01-19 Paul Eggert <address@hidden>
+
+ sys_select: port to Solaris 2.6
+ * lib/sys_select.in.h [__sun]: Don't include <signal.h>.
+ as this causes a circularity problem on Solaris 2.6.
+ <signal.h> doesn't need to be included on Solaris,
+ since <sys/select.h> already defines sigset_t.
+ Move inclusion to after the split double-inclusion guard,
+ since the only reason it was before the guard was because of Solaris.
+ Problem reported by Tom G. Christensen in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
+
2013-01-16 Paul Eggert <address@hidden>
unistd: port to recent mingw
diff --git a/lib/sys_select.in.h b/lib/sys_select.in.h
index b48c1bb..4918300 100644
--- a/lib/sys_select.in.h
+++ b/lib/sys_select.in.h
@@ -83,17 +83,17 @@
#endif
+#ifndef address@hidden@_SYS_SELECT_H
+#define address@hidden@_SYS_SELECT_H
+
/* Get definition of 'sigset_t'.
- But avoid namespace pollution on glibc systems.
- Do this after the include_next (for the sake of OpenBSD 5.0) but before
- the split double-inclusion guard (for the sake of Solaris). */
-#if !(defined __GLIBC__ && !defined __UCLIBC__)
+ But avoid namespace pollution on glibc systems,
+ and avoid a circularity problem on Solaris 2.6.
+ Do this after the include_next, for OpenBSD 5.0. */
+#if !(defined __GLIBC__ && !defined __UCLIBC__) && !defined __sun
# include <signal.h>
#endif
-#ifndef address@hidden@_SYS_SELECT_H
-#define address@hidden@_SYS_SELECT_H
-
#if address@hidden@
/* A platform that lacks <sys/select.h>. */
/* Get the 'struct timeval' and 'fd_set' types and the FD_* macros
--
1.7.11.7
- Re: Build errors on Solaris 2.6 & 7, (continued)
- Re: Build errors on Solaris 2.6 & 7, Paul Eggert, 2013/01/13
- Re: Build errors on Solaris 2.6 & 7, Paul Eggert, 2013/01/13
- Re: Build errors on Solaris 2.6 & 7, Tom G. Christensen, 2013/01/13
- Re: Build errors on Solaris 2.6 & 7, Paul Eggert, 2013/01/13
- Re: Build errors on Solaris 2.6 & 7, Paul Eggert, 2013/01/13
- Re: Build errors on Solaris 2.6 & 7, Tom G. Christensen, 2013/01/19
- Re: Build errors on Solaris 2.6 & 7,
Paul Eggert <=
- Re: Build errors on Solaris 2.6 & 7, Tom G. Christensen, 2013/01/19
- Re: Build errors on Solaris 2.6 & 7, Paul Eggert, 2013/01/19
- Re: Build errors on Solaris 2.6 & 7, Tom G. Christensen, 2013/01/20
- Re: Build errors on Solaris 2.6 & 7, Paul Eggert, 2013/01/21
- Re: Build errors on Solaris 2.6 & 7, Tom G. Christensen, 2013/01/21
- Re: Build errors on Solaris 2.6 & 7, Paul Eggert, 2013/01/22
- Re: Build errors on Solaris 2.6 & 7, Tom G. Christensen, 2013/01/22
- Re: Build errors on Solaris 2.6 & 7, Paul Eggert, 2013/01/27
- Re: Build errors on Solaris 2.6 & 7, Tom G. Christensen, 2013/01/28
- Re: Build errors on Solaris 2.6 & 7, Paul Eggert, 2013/01/28