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

    <tr>
        <th>Summary</th>
        <td>
            ld.lld: error: unable to find library -lc
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            lld
      </td>
    </tr>

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

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

<pre>
    I cross build for NetBSD programs on GNU/Linux with clang.

## my build machine's uname -a

```
Linux leleliu008 6.5.0-14-generic #14-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 14 14:59:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
```

## clang --version

```yaml
Homebrew clang version 17.0.3
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/linuxbrew/.linuxbrew/bin
```

## install netbsd sysroot

```bash
install -d amd64-unknown-netbsd-sysroot

curl -L -o amd64-unknown-netbsd-base.txz https://ftp.netbsd.org/pub/NetBSD/NetBSD-9.3/amd64/binary/sets/base.tar.xz
tar xf amd64-unknown-netbsd-base.txz -C amd64-unknown-netbsd-sysroot

curl -L -o amd64-unknown-netbsd-comp.txz https://ftp.netbsd.org/pub/NetBSD/NetBSD-9.3/amd64/binary/sets/comp.tar.xz
tar xf amd64-unknown-netbsd-comp.txz -C amd64-unknown-netbsd-sysroot
```

## create a simple C source file to test

```bash
cat > test.c <<EOF
#include <stdio.h>

int main() {
    puts("Hello NetBSD!");
    return 0;
}
EOF
```

## cross build command

```bash
clang --target=amd64-unknown-netbsd --sysroot=./amd64-unknown-netbsd-sysroot -fuse-ld=lld -v test.c
```

report logs:

```
Homebrew clang version 17.0.3
Target: amd64-unknown-netbsd
Thread model: posix
InstalledDir: /home/linuxbrew/.linuxbrew/bin
 "/home/linuxbrew/.linuxbrew/Cellar/llvm/17.0.3/bin/clang-17" -cc1 -triple amd64-unknown-netbsd -emit-obj -mrelax-all -dumpdir a- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name test.c -mrelocation-model static -mframe-pointer=all -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -v -fcoverage-compilation-dir=/home/leleliu008/Downloads -resource-dir /home/linuxbrew/.linuxbrew/Cellar/llvm/17.0.3/lib/clang/17 -isysroot ./amd64-unknown-netbsd-sysroot -internal-isystem /home/linuxbrew/.linuxbrew/Cellar/llvm/17.0.3/lib/clang/17/include -internal-externc-isystem ./amd64-unknown-netbsd-sysroot/usr/include -fdebug-compilation-dir=/home/leleliu008/Downloads -ferror-limit 19 -fgnuc-version=4.2.1 -fcolor-diagnostics -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/test-831aa6.o -x c test.c
clang -cc1 version 17.0.3 based upon LLVM 17.0.3 default target x86_64-unknown-linux-gnu
#include "..." search starts here:
#include <...> search starts here:
 /home/linuxbrew/.linuxbrew/Cellar/llvm/17.0.3/lib/clang/17/include
 ./amd64-unknown-netbsd-sysroot/usr/include
End of search list.
 "/home/linuxbrew/.linuxbrew/bin/ld.lld" --sysroot=./amd64-unknown-netbsd-sysroot --eh-frame-hdr -dynamic-linker /libexec/ld.elf_so -o a.out ./amd64-unknown-netbsd-sysroot/usr/lib/crt0.o ./amd64-unknown-netbsd-sysroot/usr/lib/crti.o ./amd64-unknown-netbsd-sysroot/usr/lib/crtbegin.o /tmp/test-831aa6.o -lc ./amd64-unknown-netbsd-sysroot/usr/lib/crtend.o ./amd64-unknown-netbsd-sysroot/usr/lib/crtn.o
ld.lld: error: unable to find library -lc
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```

**Note:** It could be successfully compiled if I remove `-fuse-ld=lld` flag.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0V91u27gSfhrmZkBBohz_XPjCtaNtgCan2LZ7cK4CihzJ3FKkwZ_E2ac_oCQ7ziKNm6AFAkeiZobfcGa-GXLvVWsQl-TyA7ncXPAYttYtNWrUKub5_KK28nF5DcJZ76GOSktorINbDB--bGDnbOt458Ea-OP2G2HVJ2XiHh5U2ILQ3LQZyTckX42_rCSshO5xtNRxsVUGCZt5iIZ3CJQ_k5_m41__Oth-AgfT7DLLaTGhLRp0SgBhZTGh3-poQoQvN5_h859XVzefv95t_ne7urlew9eIcGvvoZhAMSHl6nJBytVkAd--roHlrIT9fHo3nfzr34lrLwJ75l3vNlB6j84ra17055F3elj6aDusHT6MaqMSFLMsz8pB5Ct3LQZSrkY4NJrvxj4YqhMg2po4ym0dcgmdlaiT9M56NeK9Nj5wrVFulEufCKu2tkPCqt5GAkBYlZ2-1Mqc91UNdsFgqL0E_-idteFFl2vut8PSQYlK4J088WewQl-wIqLTQD8BtS-r1NxjFvb_wDaEnSflirCKsKoJu2yQyKxrCat2sSasGpL3-EAXWUlY1RseHOfukbDKY_DpvbfNXbb_ZwATuIN9cwYIXf8y54Ttdr_LucH2Tzp3BPJzzr1WIw55QODgVbfTCGvwNjqB0CiNECwE9OfSSPAApLzqRTMBpFyTcn31n-q4kTJCR4npiw9S2WxLyqtTo8oE6LgyhM0JWwCZfRjWAQB2MZ3PnDD2EbW2cDjWgjBG2IKUJ7IOQ3QG8uMimW2Ghyc4rx7GE7cK23XcyHOujxQTRmbYvBQNoMd4lJvskAM_CBnQJnqkWpJyo7UEej-e6yvwHe6sC6Bt2yflj3n7TRz3Esrfym_QR_Ss_Bq15i5J6PuOsGpEPxhiVe8aLWaEMaBCFECDUym1Xw4NdipQW_8NtHOo-Z4OhBi7nVQOOAUqlee1Rto4RKBCI3eU-0BrbKxDWnPxHY18kkuwUs9RjULXLwvuJL3nOiJNvdUDTclOU4n1C4fK6SFYwYOyhvanCz7woNKXxvEO6c4qE9ClREswm2ZHhTXBcZFyyxqgjbHU2WikMi3teNgC7YQ1PrgognWUa8V9gtBE86CMpCGB9qTcMBjTmIpdTB2OTidAQzTYLxw6O5VYx7ZFlz4p05Jy08o65SlthL1Hx1vsCUrpwRGZMmFzEtjj2EBYtbEPRlsuPVCHA_UkhZ_Jmx_mgVb1IQ_6ZaDqUFznq68_X8N1rxOw-6VICKsOXPi0Ee7TgzhueA4jYVX07tRU04fkXYfeoHPWUa06FaBYAG1aE8VxZCo3k4xlRR9abR2VirfG-qCEB7q5u_tjvb77uPrr6m7z39WfFbtbV9d3qy83pNwUqYsSVoVul37RBzovC86nmQW6B_GM1UYaTdX6nJMgtXEJcWcNfPr0181hWWLDow4wJOyZcey0AzGWZVmiBo_ciW2qLxc8bNHhE3U-61hJvrx6Tf43pcho_K3pMPY7I8E2B9Ra-ZC9iWQHLtUy01r2TPqmFkZxSwfC2spEgY-Gd0qkuHzHvra1qnGPYtgCdXPnbT91ZTaeL9Kjx-PZuZBn9h1a6l1aNbbKZD_ObS3eYRSNfBcYk9khrGOkyhX0BZ0eoknMnma4RhkJWtWOu8cE8KTonmmM8RlHH2i40iiHKyTuVQBhJUIBhM2jx34yseARQZn7sWulgey1MSv93drQ107_AtfJbNQSagQfhUDvm6j1IwxshhJUA9fgsLP3CGSaP5-PyDSHRvM2u5DLUi7KBb_AZTHLyymblSy_2C7lbJFjgZelQOSTKcr5gssFnzNWlMjnswu1TPfNgrEpKybzSZ7x2YQJdrloJqUs50KSSY4dVzpLtZtG_AvlfcTlbDopigvNa9S-v7czNlRLusC7ZT8H1LH1ZJKnAvRP-kEFjcs3xewiOr18fu9oVdjGOhO2e-KVftOds3-jSOnSA03Xix7r_wMAAP__lOcx6Q">