Red Hat Bugzilla – Bug 107992
System include files have conflicting definitions of sigset_t
Last modified: 2016-11-24 10:09:51 EST
Description of problem:
System include files have conflicting definitions for sigset_t, preventing
legitimate code from compiling.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Create the following file, named repro.cpp:
int main( int argc, char *argv )
2. run the following command
g++ -O2 -Wall -I/usr/src/linux-2.4/include/asm-i386 -I../include -I/usr/include
-c -o repro.o repro.cpp
In file included from /usr/include/pthread.h:24,
/usr/src/linux-2.4/include/asm-i386/signal.h:27: conflicting types for `typedef
long unsigned int sigset_t'
/usr/include/sys/select.h:38: previous declaration as `typedef struct
Not a gcc bug.
This is all your fault. You add -I/usr/src/linux-2.4/include/asm-i386
and expect things to work. The files in this directory are no
replacement for the libc files. Never use such an -I parameter.