title: compilation error fatal error: sys\types.h: No such file or directory #include <sys\types.h>
body: <p>I've looked and looked for a solution to this.  Sure there are these links that suggest one thing or another:</p>
  
  <p><a href="https://stackoverflow.com/questions/33819808/error-sys-types-h-no-such-directory-found">Error :sys/types.h No such directory found</a></p>
  
  <p><a href="https://stackoverflow.com/questions/16496635/fatal-error-sys-socket-h-no-such-file-or-directory-on-32bit">fatal error: sys/socket.h: No such file or directory on 32bit</a></p>
  
  <p><a href="https://stackoverflow.com/questions/33819808/error-sys-types-h-no-such-directory-found">Error :sys/types.h No such directory found</a></p>
  
  <p>and other similar links too.  </p>
  
  <p>Let me give you the error, the relevant Makefile statements and show you my directory structure for include.</p>
  
  <p><strong>The Error</strong></p>
  
  <pre><code>gcc -o obj/nmlflpth.o -std=c99 -Ilarc/include -Ilarc/modules/include -Ilarc/milesup -Ilarc/pftk -Ilarc/npsol -Ilarc/src -Ilarc/uih -Ilarc/util -Ilarc/uopt -Ilarc/pgm -Ilarc/navlrc -Ilarc/modules/production/common -Ilarc/src_test -Ilarc/gtest/include -c -O2 larc/uih/nmlflpth.c
  larc/uih/nmlflpth.c:48:23: fatal error: sys\types.h: No such file or directory
  #include &lt;sys\types.h&gt;
  </code></pre>
  
  <p><strong>The Relevant Makefile Statements</strong></p>
  
  <pre><code># list of all dirs with compilable C, C++ and F77 code
  dirs    :=  larc/milesup \
              larc/pftk \
              larc/npsol \
              larc/src \
              larc/uih \
              larc/util \
              larc/uopt \
              larc/pgm \
              larc/navlrc \
              larc/modules/production/common
  
  # list of dirs with include/header files
  idirs   := larc/include larc/modules/include
  idirs   += $(dirs)
  idirs   += larc/gtest/include
  ipaths  := $(addprefix -I, $(idirs))
  cflags  := -std=c99 $(ipaths)
  optflag := -O2
  
  cdefines:= -DVERSION_BUILD_DATE="\"$(shell date)\"" \
         -DVERSION_VENDOR="\"$(VENDOR)\"" \
         -DVERSION_OSTYPE="\"$(OSTYPE)\"" \
         -DVERSION_HOST="\"$(HOST)\"" \
         -DVERSION_USER_NAME="\"$(USER)\"" \
         -DVERSION_VIEW_NAME="\"NONCLEARCASE\""   
  
  $(cobjs): obj/%.o: %.c
      # $(CC) -o $@ $(cflags) -c $(optflag) $&lt;
      @ -mkdir -p obj/
      @ $(CC) -o $@ $(cflags) $(cdefines) $(ipaths) -c $(optflag) $&lt;
  </code></pre>
  
  <p>note that:
      @ $(CC) -o $@ $(cflags) $(cdefines) $(ipaths) -c $(optflag) $&lt;
  Really only seems to output the following 
      @ $(CC) -o $@ $(cflags) -c $(optflag) $&lt;</p>
  
  <p>why?  I have no clue. </p>
  
  <p><strong>Include folders for sys/types.h</strong></p>
  
  <p>So this is what gcc is looking for:</p>
  
  <pre><code>$echo "#include &lt;sys/types.h&gt;" | gcc -E -x c - | grep types
  # 1 "/usr/include/x86_64-linux-gnu/sys/types.h" 1 3 4
  # 25 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
  # 26 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4
  # 1 "/usr/include/x86_64-linux-gnu/bits/types.h" 1 3 4
  # 27 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4
  # 28 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4
  # 121 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4
  # 1 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 1 3 4
  # 122 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4
  # 30 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4
  # 60 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
  # 98 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
  # 132 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
  # 133 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4
  # 146 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
  # 147 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4
  # 194 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
  # 216 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
  # 217 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4
  # 220 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4
  # 223 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4
  # 270 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
  # 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 1 3 4
  # 21 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4
  # 22 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 2 3 4
  # 60 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4
  # 90 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4
  # 124 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4
  # 211 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4
  # 271 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4
  </code></pre>
  
  <p>I have the following folder content for types.h:</p>
  
  <pre><code>$ls /usr/include/x86_64-linux-gnu/sys |grep types.h
  bitypes.h
  types.h
  </code></pre>
  
  <p>and </p>
  
  <pre><code>ls /usr/include/sys |grep types.h
  bitypes.h
  types.h
  </code></pre>
  
  <p>from debian package:</p>
  
  <pre><code>$ dpkg -S /usr/include/sys/types.h 
  libc6-dev-amd64: /usr/include/sys/types.h
  $ dpkg -S /usr/include/x86_64-linux-gnu/sys/types.h 
  libc6-dev:amd64: /usr/include/x86_64-linux-gnu/sys/types.h
  </code></pre>
  
  <p>Any help on this is greatly appreciated.  Thanks!</p>