linker not using make.conf

Sid sid at bsdmail.com
Tue Sep 3 21:28:28 UTC 2019


In /etc/make.conf, I have
 LD= /usr/local/bin/ld.lld80

This is not used for ports. It may be used for building the kernel and world.

 clang-8: error: unable to execute command: Executable "ld" doesn't exist!
 clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
 *** Error code 1

 XLD= /usr/local/bin/ld.lld80 being set as well also provides the same error. XD sets it for all, but XLD is only applicable if a different compiler is used for ports than kernel and the base. When LD is set, XLD only applies when it is set as well, but this suggests that XLD is not working correctly either.

I have to manually link /usr/bin/ld to /usr/local/bin/ld.lld80 for ports to build correctly. This is with both make, and with portmaster.

I built my computer without ld in the base system, and this has worked well. make.conf should reference the chosen linker without having to manually link it. Otherwise, LD in make.conf is not working correctly, and gives the impression that one linker is used, when it's not. This can cause faulty conclusions and confusion for developers as well, who think one linker is set, when it's not.

Thank you


More information about the freebsd-toolchain mailing list