Summary: | print/openprinting: fails to link with lld as system linker due to invalid -Mmapfile argument | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | Ed Maste <emaste> |
Component: | Individual Port(s) | Assignee: | freebsd-ports-bugs (Nobody) <ports-bugs> |
Status: | Closed FIXED | ||
Severity: | Affects Only Me | ||
Priority: | --- | ||
Version: | Latest | ||
Hardware: | Any | ||
OS: | Any | ||
Bug Depends on: | |||
Bug Blocks: | 214864 |
Description
Ed Maste
![]() ![]() Recent failure log: http://package18.nyi.freebsd.org/data/headamd64PR214864-default/2018-03-21_17h43m11s/logs/errors/openprinting-1.0_5.log Via tobik@ in ports r465725, BINARY_ALIAS=ld=ld.bfd may be an effective workaround if LLD_UNSAFE does not work. It looks like openprinting's ltmain.sh is too old to patch in -fuse-ld via -e 's/|-p|-pg|/|-B*|-fstack-protector*|-fuse-ld=*|-p|-pg|/' (from Mk/Uses/libtool.mk) A commit references this bug: Author: emaste Date: Thu Apr 5 02:43:08 UTC 2018 New revision: 466522 URL: https://svnweb.freebsd.org/changeset/ports/466522 Log: print/openprinting: fix build when lld is the system linker This port passes an invalid argument -Mmapfile to the linker. Per GNU BFD ld's manpage, link map options are -M or --print-map to print a link map to stdout, or -Map mapfile to print a link map to mapfile. It appears that ld.bfd accepts -Mmapfile as a synonym for -M due to some quirk of its parser; lld simply fails with an unknown argument error. This port's embedded copy of libtool was also too old to know that it should pass the -fuse-ld flag from LDFLAGS through to the linker, and also too old to match the sed expression in Mk/Uses/libtool.mk that patches in knowledge of -fuse-ld. Thus, patch ltmain.sh to add -fuse-ld=bfd as a passthrough flag. I do not know why libtool's authors believed that silently dropping flags from a user's provided LDFLAGS was (is) a sensible thing to do. PR: 221809 Approved by: ler Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D14968 Changes: head/print/openprinting/Makefile head/print/openprinting/files/patch-ltmain.sh Summary updated to reflect that the lld failure prompted the PR, not the invalid argument per se. |