[Bug 260484] x11/xorg-cf-files: Stop using 'l' option with 'ar'
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 17 Dec 2021 02:50:40 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260484 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=230189&action=edit 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 following. l Specify dependencies of this library. The dependencies must immediately follow this option character, must use the same syntax as the linker command line, and must be specified within a single argument. I.e., if multiple items are needed, they must be quoted 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=imake' 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 fine even if devel/binutils isn't installed and 'ar' of base system is used. -- You are receiving this mail because: You are the assignee for the bug.