title: Symbol O_DIRECT could not be resolved
body: <p>Can you please tell me what is wrong with the following code ?
  For some reason the compiler refuses to recognize the O_DIRECT flag.</p>
  
  <pre><code>#define _GNU_SOURCE
  #include &lt;sys/types.h&gt;
  #include &lt;sys/stat.h&gt;
  #include &lt;fcntl.h&gt;
  #include &lt;stdlib.h&gt;
  #include &lt;stdio.h&gt;
  
  int main(int argc, char **argv) {
     int fd;
     fd = open(argv[1], O_RDONLY | O_DIRECT);
     return 0;
  }
  </code></pre>