|Summary:||devel/libtecla: fails to build with lld as the system linker|
|Product:||Ports & Packages||Reporter:||Ed Maste <emaste>|
|Component:||Individual Port(s)||Assignee:||freebsd-ports-bugs mailing list <ports-bugs>|
|Severity:||Affects Only Me||CC:||k|
|Bug Depends on:|
Description Ed Maste 2018-03-27 13:13:27 UTC
I'm working on switching to LLVM's lld linker as the FreeBSD system linker (/usr/bin/ld), and the port in this PR is reported as a new failure in the exp-run, PR 214864. An excerpt from the build log: --- ld: error: unable to find library -lcurses ld: error: unable to find library -lc --- Known issues in this port or in lld that affect this port: (2) lld has no built-in search paths (/lib, /usr/lib). Normally the linker is invoked from the compiler driver, and the search paths are added by the compiler. If lld is invoked directly library search paths must be specified explicitly, with -L/lib -L/usr/lib. FreeBSD 11 and later have lld available as /usr/bin/ld.lld, so one simple option for testing is to just symlink /usr/bin/ld to ld.lld (and restore it to ld.bfd). A port Makefile knob, LLD_UNSAFE=yes, exists to indicate that a port does not work with lld, and requires either /usr/bin/ld.bfd or binutils from ports. This should work for the common case of ports written in C using GNU autoconf; it may have no effect on other ports.  https://lists.freebsd.org/pipermail/freebsd-current/2018-March/068985.html  http://package18.nyi.freebsd.org/data/headamd64PR214864-default/2018-03-21_17h43m11s/logs/errors/libtecla-1.6.3.log
Comment 1 Ed Maste 2018-03-27 21:21:42 UTC
Via tobik@ in ports r465725, BINARY_ALIAS=ld=ld.bfd may be an effective workaround if LLD_UNSAFE does not work.
Comment 2 Ed Maste 2018-03-28 01:05:41 UTC
Followup, if BINARY_ALIAS is used it should be in addition to LLD_UNSAFE, so that architectures without a /usr/bin/ld.bfd (arm64) work. If possible LLD_UNSAFE=yes should imply BINARY_ALIAS=ld=ld.bfd, under discussion on the ports mailing list.
Comment 3 commit-hook 2018-03-31 18:28:54 UTC
A commit references this bug: Author: krion Date: Sat Mar 31 18:28:45 UTC 2018 New revision: 466074 URL: https://svnweb.freebsd.org/changeset/ports/466074 Log: Switch to ld.bfd by default as ld.ldd doesn't have built-in default output target. PR: 226973 Submitted by: emaste Approved by: portmgr (LLD_UNSAFE blanket) Changes: head/devel/libtecla/Makefile