<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [libsupc++] file INSTALL cannot find "[...]/include/c++build/bits/c++config.h"."
   href="https://bugs.llvm.org/show_bug.cgi?id=39145">39145</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[libsupc++] file INSTALL cannot find "[...]/include/c++build/bits/c++config.h".
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libc++
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>7.0
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>All Bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedclangbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>mgorny@gentoo.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org, mclow.lists@gmail.com, phosek@chromium.org
          </td>
        </tr>

        <tr>
          <th>Blocks</th>
          <td>39106
          </td>
        </tr></table>
      <p>
        <div>
        <pre>It seems that libcxx-7 introduces a regression in building against libsupc++. 
The resulting build fails to install with the following error:

CMake Error at cmake_install.cmake:40 (file):
  file INSTALL cannot find
 
"/var/tmp/portage/sys-libs/libcxx-7.0.0/work/libcxx-7.0.0.src-.arm/include/c++build/bits/c++config.h".


It seems that the file is created in wrong directory with 'bits/bits' instead
of just 'bits':

[3/46] cd /var/tmp/portage/sys-libs/libcxx-7.0.0/work/libcxx-7.0.0.src-.arm &&
/usr/bin/cmake -E copy_if_different
/usr/lib/gcc/armv7a-unknown-linux-gnueabihf/7.3.0/include/g++-v7/armv7a-unknown-linux-gnueabihf/bits/c++config.h
/var/tmp/portage/sys-libs/libcxx-7.0.0/work/libcxx-7.0.0.src-.arm/include/c++build/bits/bits/c++config.h


A quick bisect uncovers that the issue was introduced by the following commit:

commit f48515b28b423e5387399524a7aef53c51810f59
Author: Petr Hosek <<a href="mailto:phosek@chromium.org">phosek@chromium.org</a>>
Date:   Tue Jun 12 03:10:02 2018 +0000

    Reland "Use custom command and target to install libc++ headers"

    Using file(COPY FILE...) has several downsides. Since the file command
    is only executed at configuration time, any changes to headers made
    after the initial CMake execution are ignored. This can lead to subtle
    errors since the just built Clang will be using stale libc++ headers.
    Furthermore, since the headers are copied prior to executing the build
    system, this may hide missing dependencies on libc++ from other LLVM
    components.

    This changes replaces the use of file(COPY FILE...) command with a
    custom command and target which addresses all aforementioned issues and
    matches the implementation already used by other LLVM components that
    also install headers like Clang builtin headers.

    Differential Revision: <a href="https://reviews.llvm.org/D44773">https://reviews.llvm.org/D44773</a>

    git-svn-id: <a href="https://llvm.org/svn/llvm-project/libcxx/trunk@334468">https://llvm.org/svn/llvm-project/libcxx/trunk@334468</a>
91177308-0d34-0410-b5e6-96231b3b80d8


Original report: <a href="https://bugs.gentoo.org/667174">https://bugs.gentoo.org/667174</a></pre>
        </div>
      </p>

        <div id="referenced">
          <hr style="border: 1px dashed #969696">
          <b>Referenced Bugs:</b>
          <ul>
              <li>
                [<a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [meta] 7.0.1 Release Blockers"
   href="https://bugs.llvm.org/show_bug.cgi?id=39106">Bug 39106</a>] [meta] 7.0.1 Release Blockers
              </li>
          </ul>
        </div>
        <br>

      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>