Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Sep 2019 23:04:08 +0200
From:      Sid <sid@bsdmail.com>
To:        freebsd-toolchain@freebsd.org
Subject:   linker not using make.conf
Message-ID:  <trinity-008aa4cb-9c85-4504-9364-cd7875281113-1567544648345@3c-app-mailcom-lxa02>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?trinity-008aa4cb-9c85-4504-9364-cd7875281113-1567544648345>