<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 - c++fs tests are failing due to linker error"
   href="https://bugs.llvm.org/show_bug.cgi?id=38630">38630</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>c++fs tests are failing due to linker error
          </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>release blocker
          </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>geek4civic@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>eric@efcs.ca, llvm-bugs@lists.llvm.org, mclow.lists@gmail.com
          </td>
        </tr>

        <tr>
          <th>Blocks</th>
          <td>38406
          </td>
        </tr></table>
      <p>
        <div>
        <pre>For example;
FAIL: libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
(2231 of 5860)

/usr/bin/ld.lld: error: undefined symbol: clock_gettime
<span class="quote">>>> referenced by operations.cpp
>>>               operations.cpp.o:(std::__1::__fs::filesystem::_FilesystemClock::now()) in archive lib/libc++fs.a</span >

Adding -lrt for c++fs can resolve the issue.



(Note, a few tests are failing due to lack of functionality in centos6)
Failing Tests (109):
    libc++ ::
libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.sh.cpp
    libc++ ::
libcxx/input.output/filesystems/class.path/path.itr/iterator_db.pass.cpp
    libc++ :: std/depr/depr.c.headers/uchar_h.pass.cpp
    libc++ ::
std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
    libc++ ::
std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.cons/default.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.cons/default_const.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.obs/comparisons.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.obs/path.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
    libc++ ::
std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
    libc++ ::
std/input.output/filesystems/class.filesystem_error/filesystem_error.members.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.itr/iterator.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.append.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.decompose/path.decompose.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.generic.obs/named_overloads.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.modifiers/clear.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.modifiers/remove_filename.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.modifiers/replace_extension.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.modifiers/replace_filename.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.modifiers/swap.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.native.obs/c_str.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.native.obs/named_overloads.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.native.obs/native.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.native.obs/operator_string.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp
    libc++ ::
std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp
    libc++ ::
std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
    libc++ ::
std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
    libc++ ::
std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
    libc++ ::
std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
    libc++ ::
std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
    libc++ ::
std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
    libc++ ::
std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
    libc++ ::
std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
    libc++ ::
std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
    libc++ ::
std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
    libc++ ::
std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.absolute/absolute.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
    libc++ :: std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.status_known/status_known.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp
    libc++ ::
std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp</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.0 Release Blockers"
   href="https://bugs.llvm.org/show_bug.cgi?id=38406">Bug 38406</a>] [meta] 7.0.0 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>