[Bug 250336] lang/clover: link failure after update to 20.2
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Wed Oct 14 16:53:07 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250336
--- Comment #4 from John Hein <jcfyecrayz at liamekaens.com> ---
(In reply to John Hein from comment #3)
Let me amend that last comment. I don't think it hurts to add -fuse-ld=lld
even if the default linker is lld already. It may be better than adding
conditional logic.
In other words, I think (a) might be better than (b) for simplicity. -fuse-ld
is certainly less expensive than a dependency on devel/binutils, so the
largest(?) advantage of using the conditional logic is diminished.
(a)
LDFLAGS+= -fuse-ld=lld
(b)
.if ${/usr/bin/ld:L:tA} != /usr/bin/ld.lld
LDFLAGS+= -fuse-ld=lld
.endif
But (b) might be easier to grep for when 11.x goes away. An OSVERSION test
would have that advantage as well.
Either of the above can benefit from a comment and maybe even a USES=lld which
can be pruned after 11.x goes away:
# The base ld(1) in 11.x has troubles for a number of ports
# where --as-needed and --start-group/--end-group is used
# with a mix of shared and static libraries. Getting the
# order of libraries on the command line can sometimes
# work around ld(1)'s troubles. But using the lld linker
# handles this issue more simply.
# After 11.x is no longer supported, this can be removed
# as the default linker on 12.x+ works fine in these cases.
A handful of other ports are having troubles with 11.x ld(1) after the recent
update of various gnome related ports to use meson. These have been failing
for a couple weeks now in the freebsd package builder.
These bugs suggest the -fuse-ld=lld fix for some of them:
bug 249418
bug 249974
bug 249990
--
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
More information about the freebsd-x11
mailing list