I'm working on switching to LLVM's lld linker as the FreeBSD system linker (/usr/bin/ld)[1], and the port in this PR is reported as a new failure in the exp-run, PR 214864. An excerpt from the build log[2]: --- cc -O2 -pipe -fstack-protector -fno-strict-aliasing -c string-lib.c -o string-lib.o ld: error: -O: number expected, but got 'string-lib.o' *** Error code 1 --- 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. [1] https://lists.freebsd.org/pipermail/freebsd-current/2018-March/068985.html [2] http://package18.nyi.freebsd.org/data/headamd64PR214864-default/2018-03-21_17h43m11s/logs/errors/cgihtml-1.69_3.log
A commit references this bug: Author: emaste Date: Tue Mar 27 20:46:44 UTC 2018 New revision: 465749 URL: https://svnweb.freebsd.org/changeset/ports/465749 Log: www/cgihtml: set LLD_UNSAFE This port passes an unusual option to the linker that is accepted by ld.bfd but rejected by ld.lld. Linking with lld fails with: ld: error: -O: number expected, but got 'string-lib.o' PR: 226992 Approved by: portmgr (LLD_UNSAFE blanket) Sponsored by: The FreeBSD Foundation Changes: head/www/cgihtml/Makefile
Workaround applied.