title: Why am I missing C++20 headers? And how do I fix this?
body: <p>I've been Googling around for months trying to solve this, but nothing I've tried works.</p>
  <p>So a simple program like this:</p>
  <pre class="lang-cpp prettyprint-override"><code>#include &lt;concepts&gt;
  #include &lt;iostream&gt;
  
  int main() {
      std::cout &lt;&lt; &quot;Test&quot; &lt;&lt; std::endl;
      return 0;
  }
  </code></pre>
  <p>fails to compile with the error message <code>fatal error: 'concepts' file not found</code>.  This happens with both clang++ and g++ compilers.  (For completeness: <code>clang++-11 -std=c++20 test.cpp</code> and <code>g++ -std=c++2a test.cpp</code>.)</p>
  <p>My compiler versions are:</p>
  <pre><code>&gt; clang++-11 --version
  Ubuntu clang version 11.0.0-2~ubuntu20.04.1
  
  &gt; g++ --version
  g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
  </code></pre>
  <p>If I look for my C++ headers, I can find them in <code>/usr/include/c++</code>:</p>
  <pre><code>&gt; find /usr -name &quot;iostream&quot;
  /usr/lib/llvm-10/include/c++/v1/iostream
  /usr/include/c++/9/iostream
  </code></pre>
  <p>However, <code>find /usr -name &quot;concepts&quot;</code> gives nothing.  So the header is definitely missing.  Along with all the other C++20-specific headers, and C++20-specific functions that are defined in other headers (like <code>[std::bit_width][1]</code> for example - the header can be included but the function is not defined).</p>
  <p>And by the way, I can use all C++20 <em>functionality</em>. For example, I can define my own concepts, although I can't use the concepts header.</p>
  <p>What's weird is everywhere I Google for this type of issue, the only problems I can find are people who are using an old compiler that doesn't support C++20, or are missing all C++ headers (or the compiler can't find them). But I'm not sure what I'm supposed to do given that my compiler clearly supports C++20, yet I'm missing the C++20 headers.</p>
  <p>I did try to see if <code>libstdc++</code> needed an update, but to no avail:</p>
  <pre><code>&gt; sudo apt install libc++-dev
  [...]
  libc++-dev is already the newest version (1:10.0-50~exp1).
  </code></pre>