title: C++17 std::variant header file (clang 6.0.0)
body: <p><strong>Update</strong></p>
  
  <p>I narrowed down the problem to (probably! it's not entirely clear, even reading all I could find about the topic) that installing <code>stdlibc++-7-dev</code> would provide me with suitable (i.e., C++17-compliant) STL headers and libraries.</p>
  
  <p>This (also, apparently) comes bundled with Ubuntu 17.04 (<code>artful</code>?) but is not available for <code>xenial</code> (Ubuntu 16.04.3 LTS) which is what I'm using.</p>
  
  <p>I have tried downloading the individual <code>.deb</code> packages and installing them, but it quickly becomes a maze of unresolved dependencies.</p>
  
  <p>If anyone could point me to how to install <code>libstdc++-7-dev</code> on 16.04, I'd be most grateful.</p>
  
  <p><strong>Original question</strong></p>
  
  <p>I have just installed clang++ 6.0 in Ubuntu 16.04 via the package manager (following <a href="https://askubuntu.com/questions/905205/installing-clang-5-0-and-using-c17">these instructions</a>) and all seems well: <code>/usr/bin/clang++-6.0</code> works just fine, and if I try to use something that only works in C++17 (<code>non-type template arguments with auto</code>, see <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0127r1.html" rel="noreferrer">here</a>) it compiles and runs, once I set <code>CMAKE_CXX_COMPILER=/usr/bin/clang++-6.0</code> -- while it fails when I don't.</p>
  
  <p>So... <code>clang 6.0</code> understands C++17 as advertised (doh!) but when I use:</p>
  
  <pre><code>#include &lt;variant&gt;
  </code></pre>
  
  <p>the file is not found where I would expect it to be: </p>
  
  <pre><code>$ ll /usr/include/clang/6.0.0/
  total 0
  lrwxrwxrwx 1 root root 45 Aug  6 21:32 include -&gt; ../../../lib/llvm-6.0/lib/clang/6.0.0/include
  </code></pre>
  
  <p>or anywhere else I can think of.</p>
  
  <p>Would anyone know (a) whether it's supposed to be there at all and (b) if so, where do I go find it?</p>
  
  <p><strong>Update</strong></p>
  
  <p>I have double-checked that I have the latest (I think) <code>stdc++</code> library:</p>
  
  <pre><code>$ sudo apt-get install libstdc++-5-dev
  Reading package lists... Done
  Building dependency tree       
  Reading state information... Done
  libstdc++-5-dev is already the newest version (5.4.0-6ubuntu1~16.04.4).
  0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
  </code></pre>
  
  <p>and same for <code>libstdc++-6-dev</code>; also, I have <code>libc++-dev</code>:</p>
  
  <pre><code>$ sudo apt-get install libc++-dev
  Reading package lists... Done
  Building dependency tree       
  Reading state information... Done
  libc++-dev is already the newest version (3.7.0-1).
  0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
  </code></pre>
  
  <p>Still, the <code>variant.h*</code> file is nowhere to be found.
  Anything else I should try?</p>