Date: Fri, 17 Dec 2021 02:50:40 +0000 From: bugzilla-noreply@freebsd.org To: ports-bugs@FreeBSD.org Subject: [Bug 260484] x11/xorg-cf-files: Stop using 'l' option with 'ar' Message-ID: <bug-260484-7788@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D260484 Bug ID: 260484 Summary: x11/xorg-cf-files: Stop using 'l' option with 'ar' Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: Individual Port(s) Assignee: x11@FreeBSD.org Reporter: yasu@freebsd.org Assignee: x11@FreeBSD.org Flags: maintainer-feedback?(x11@FreeBSD.org) Flags: merge-quarterly? Created attachment 230189 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D230189&action= =3Dedit Patch file In the ar(1) man page of base system 'l' option is explained as following. -l This option is accepted for compatibility with GNU ar(1), but = is ignored. However, since binutils 2.36 GNU ar changed the meaning of 'l' option. According to the ar(1) man page of binutils 2.37 it is explained as followi= ng. l Specify dependencies of this library. The dependencies must immediately follow this option character, must use the same synt= ax as the linker command line, and must be specified within a single argument. I.e., if multiple items are needed, they must be quot= ed to form a single command line argument. For example L "-L/usr/local/lib -lmydep1 -lmydep2" And this incompatible change affects to the build of ports that uses 'USES=3Dimake' if devel/binutils is installed and /usr/local/bin is before /usr/bin in the value of PATH environment variable. For example build of textproc/docbook-to-man fails as following. rm -f libtptregexp.a ar clq libtptregexp.a regexp.o regsub.o regerror.o ar: libdeps specified more than once *** Error code 1 Stop. make[3]: stopped in /usr0/freebsd/ports/work/usr/ports/textproc/docbook-to-man/work/docbook-to-= man/Instant/tptregexp *** Error code 1 Stop. make[2]: stopped in /usr0/freebsd/ports/work/usr/ports/textproc/docbook-to-man/work/docbook-to-= man/Instant *** Error code 1 Stop. make[1]: stopped in /usr0/freebsd/ports/work/usr/ports/textproc/docbook-to-man/work/docbook-to-= man *** Error code 1 Stop. make: stopped in /usr/ports/textproc/docbook-to-man Therefore change Imake.tmpl so 'l' options isn't used with 'ar'. As is explained above 'ar' of base system ignores 'l' option. So it should work f= ine even if devel/binutils isn't installed and 'ar' of base system is used. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-260484-7788>