<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/56829>56829</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [libcxx] libcxx.test.dsl.ConfigurationCompilationError are quite unhelpful without the compile command
        </td>
    </tr>

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

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          mgorny
      </td>
    </tr>
</table>

<pre>
    For example, consider the following error:

```pytb
lit: /usr/lib/python3.10/site-packages/lit/TestingConfig.py:136: fatal: unable to parse config file '/tmp/portage/sys-libs/libcxx-15.0.
0.9999/work/runtimes_build-abi_x86_64.amd64/libcxx/test/lit.site.cfg', traceback: Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/lit/TestingConfig.py", line 125, in load_from_path
    exec(compile(data, path, 'exec'), cfg_globals, None)
  File "/tmp/portage/sys-libs/libcxx-15.0.0.9999/work/runtimes_build-abi_x86_64.amd64/libcxx/test/lit.site.cfg", line 22, in <module>
    libcxx.test.newconfig.configure(
  File "/tmp/portage/sys-libs/libcxx-15.0.0.9999/work/libcxx/utils/libcxx/test/newconfig.py", line 32, in configure
    actions = feature.getActions(config)
  File "/tmp/portage/sys-libs/libcxx-15.0.0.9999/work/libcxx/utils/libcxx/test/dsl.py", line 562, in getActions
    if not self._isSupported(config):
  File "/tmp/portage/sys-libs/libcxx-15.0.0.9999/work/libcxx/utils/libcxx/test/features.py", line 110, in <lambda>
    when=lambda cfg: not '_LIBCPP_HAS_NO_LOCALIZATION' in compilerMacros(cfg) and not programSucceeds(cfg, """
  File "/tmp/portage/sys-libs/libcxx-15.0.0.9999/work/libcxx/utils/libcxx/test/dsl.py", line 64, in f
    cache[cacheKey] = function(config, *args, **kwargs)
  File "/tmp/portage/sys-libs/libcxx-15.0.0.9999/work/libcxx/utils/libcxx/test/dsl.py", line 190, in programSucceeds
    programOutput(config, program, args)
  File "/tmp/portage/sys-libs/libcxx-15.0.0.9999/work/libcxx/utils/libcxx/test/dsl.py", line 64, in f
    cache[cacheKey] = function(config, *args, **kwargs)
  File "/tmp/portage/sys-libs/libcxx-15.0.0.9999/work/libcxx/utils/libcxx/test/dsl.py", line 169, in programOutput
    raise ConfigurationCompilationError("Failed to build program, stderr is:\n{}".format(err))
libcxx.test.dsl.ConfigurationCompilationError: Failed to build program, stderr is:
# command stderr:
/usr/bin/x86_64-pc-linux-gnu-ld: cannot find l: No such file or directory
clang-15: error: linker command failed with exit code 1 (use -v to see invocation)

error: command failed with exit status: 1
```

It's really hard to figure out what the problem is without seeing the failing command. Could you please include the command in the error output?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzdVk1v4zYQ_TXyhbAgy5ZkHXxwnDUaNE0W2Jz2YlAUJbOhRJUfcfzvO0NatpNu2y2QYosagkR5qOF780G-StXH1VZpwl9pN0gepRvCVG9EzTWxe04aJaU6iL4lXGulo_k6Sm6jZLznSbiGo63CX1JYmESidOuMhrsUFdzBvlf9PJ4l8GKE5dOBsmfacuOnWLg_cWNhnY3qG9HGwxG8zOY5-mqopRIHrqeV5MQqMlBtOCKFuaQR8GeUFuDEdgOuprQF37jU0UwBQVilYq-v01kWJ3GAmsQl_MB0UPoZHtr1VnTc7ConZD2lldi9LvNdvohpV-eLsw9cB8AG5DGyiVnTegAbYjVlvAJyCPhpfAF4y04ZSzRnvLeEUSmJpOikPMeUkG1gkn5A9NDJhkjRczJLMxyLnkhF612jVbcbqN2PqxLIPmeAkKluEFgEyxpCjt_4afAEcmFOgYCxSJp210pVUWnw9UH1HC1_5PGdGfnoXFzYhyGQj-abTtUO-M0_XagHNzE6iXt-CCUVh4fTGIuPI3WG7KyQ5hscLgDeZnA-crjgOhOgzAroWKB3SxpOLRjjltt1-NtnFb_50Oz8LZHayHcUsnzkcAXuTEI0pFeWGC6beCfMFzcgJl6_gf_NPvm3GJxCad73EvbgWE6SdlVN35TTYc97yESwYJfgNoDUoHV293c3m8-fdz-tv-weHnf3j5v1_d3X9dPd4wNYQ3p9A-pfKNPK5w5ruSS0r72TQatW0-6LY4zz-jxhE2Lhrx-ZY-xLH5vmEhBG2Z5H2Y1__syPUXYbStX1vgiuMow01lS35jSE6_kQ3n9s7c7KMenvE3CmeTI8Ojs4-4bTyYLD_wKX_22O8vJtjk6pOJPUVIBk2Jw2UIq8Nr7d_PCTVzew2afplgL-GlWGP3uuE2gs6CJNhMG9KNv0UXETFbfwTdwo3VFMPNj9EVmOcuhyvCDov14f9orvXT3or3SOe0aH-0OwXplOEqISkL9tODynA4Pw9-512vZuKmtckNEet5ZGgA-vsh4UMY7tg6wCaVgLEC1W6WNwzCTtW0gbTh01IabgGRTjiKUJJA7C7kFbCNA7qoYUoQpykITpC_IznEO6XhSjocbKa2V59vynLo2FDRpDQWbvxOi1nzvISWFAdoHgOpI91T604QwlylnYsKn1ShcCDeKyg_D6RdAGCFH5eh0My-P4BCeGQnKQnaNyBGQzNUiFSQcscfYIGqoRXz0ZXA0Lcr6d8NUsz8o0mxV5PqlX87qcl3RihZV8BW14KnZown9UPbC9cPKbAwkEQnnP5dA4eaZyQoWny4hu4rRc7a0dfD2lW7hamO0qUD8d9px8GR9TCM6vUATwKoxxXndm-TItJ_tVRuuMllXGSpos6uUyz7KaZRkr2GLGSpgiacWlQWLQKMgoSm_8lQLFiVilSZomxXyWFLM8yeKsanhRVXmR13VS0DRaJLyD6McIJFa6neiVx1Q52HUWiRTGmouRGiPanvtAon_qIAB61bVK98eJR7_y0H8HMNAdLw">