Re: Compile error: 'siginfo_t' is not declared using gcc-4.8.2 on RedHat, 6.4

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

 



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




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux