I am currently working on a research tool at school and am wondering why in a couple of cases the C code compiles fine in Linux, but in OS X a couple of separate includes(such as sys.h, types.h etc) are necessary. After the includes the software compiles and runs fine, but I'm a bit of a C newb, so I'm not quite sure why they are necessary. Is there actually a difference between how gcc locates header files on OS X vs. Linux? Is there any way I can get OS X to behave more like Linux? I've just been putting in the extra includes, shouldn't hurt anything.