Compile error: 'siginfo_t' is not declared using gcc-4.8.2 on RedHat, 6.4
John Dubchak
lists@johndubchak.com
Tue Jan 28 18:22:00 GMT 2014
On 1/28/14 10:09 AM, John Dubchak wrote:
> On 1/27/14 5:51 PM, Jonathan Wakely wrote:
>> On 28 January 2014 00:20, John Dubchak wrote:
>>
>> Does one of your headers use _SIGNAL_H as an include guard?
>
> No, it does not. I just spent 30 minutes reviewing all of the headers
> and ordering of includes, including searching to see if _SIGNAL_H_
> include guard is used anywhere inside my codebase and it's not.
>
> That's what brings me to the list, I am verifying if I have built gcc
> incorrectly or trying to determine other potential causes of this error.
>
> Also, in the preprocessed output from yesterday, I verified that
> siginfo_t is being defined:
>
> typedef __sig_atomic_t sig_atomic_t;
>
> # 58 "/usr/include/signal.h" 3 4
> # 1 "/usr/include/bits/signum.h" 1 3 4
> # 59 "/usr/include/signal.h" 2 3 4
> # 79 "/usr/include/signal.h" 3 4
> # 1 "/usr/include/bits/siginfo.h" 1 3 4
> # 25 "/usr/include/bits/siginfo.h" 3 4
> # 1 "/usr/include/bits/wordsize.h" 1 3 4
> # 26 "/usr/include/bits/siginfo.h" 2 3 4
>
> typedef union sigval
> {
> int sival_int;
> void *sival_ptr;
> } sigval_t;
> # 51 "/usr/include/bits/siginfo.h" 3 4
> typedef struct siginfo
> {
> int si_signo;
> int si_errno;
>
> int si_code;
>
> union
> {
> int _pad[((128 / sizeof (int)) - 4)];
>
> struct
> {
> __pid_t si_pid;
> __uid_t si_uid;
> } _kill;
>
> struct
> {
> int si_tid;
> int si_overrun;
> sigval_t si_sigval;
> } _timer;
>
> struct
> {
> __pid_t si_pid;
> __uid_t si_uid;
> sigval_t si_sigval;
> } _rt;
>
> struct
> {
> __pid_t si_pid;
> __uid_t si_uid;
> int si_status;
> __clock_t si_utime;
> __clock_t si_stime;
> } _sigchld;
>
> struct
> {
> void *si_addr;
> } _sigfault;
>
> struct
> {
> long int si_band;
> int si_fd;
> } _sigpoll;
> } _sifields;
> } siginfo_t;
>
I've resolved this issue. Jonathan's point about the include guards
made me review the ordering I was using and I discovered and removed a
cyclic dependency, which corrected the issue by addressing the compiler
error.
Thank you Jonathan for your help.
JohnD
More information about the Gcc-help
mailing list