Bug 1943020

Summary: nas: FTBFS with binutils-2.36.1: ar: libdeps specified more than once
Product: [Fedora] Fedora Reporter: Ondrej Dubaj <odubaj>
Component: nasAssignee: Petr Pisar <ppisar>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: ppisar, rdieter
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1943274 (view as bug list) Environment:
Last Closed: 2021-03-30 08:42:11 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1943274    
Bug Blocks:    

Description Ondrej Dubaj 2021-03-25 12:43:59 UTC
Your package fails to build with the newest upcoming autoconf-2.71, which is part of a wide Fedora change. Please see the attached copr: https://copr.fedorainfracloud.org/coprs/odubaj/autoconf-2.70/packages/. More information about testing your package when building with autoconf available here: https://fedoraproject.org/wiki/Changes/Autoconf_271#How_To_Test

Comment 1 Petr Pisar 2021-03-25 16:02:03 UTC
This has nothing to do with Autoconf-2.71. It's already failing in F35 with autoconf-2.69 <https://koschei.fedoraproject.org/build/10043369>.

Comment 2 Petr Pisar 2021-03-25 16:09:11 UTC
This is triggered with upgrading binutils from 2.35.1-34.fc34 to 2.36.1-7.fc35.

Comment 3 Ondrej Dubaj 2021-03-25 16:12:49 UTC
This was automatically created bug due to failure with autoconf-2.71. No other investigation was made.

Comment 4 Petr Pisar 2021-03-25 16:13:39 UTC
*** Bug 1943138 has been marked as a duplicate of this bug. ***

Comment 5 Petr Pisar 2021-03-25 16:30:21 UTC
The failing command is:

$ ar clq libdia.a dispatch.o dixutils.o events.o globals.o main.o resource.o swapreq.o        tables.o swaprep.o        audispatch.o auswap.o autables.o auevents.o auutil.o auconfig.o        auprocess.o  nasconf.o lex.o gram.o
ar: libdeps specified more than once

The reason is that GNU ar repurpossed an "l" option. From binutils NEWS:

* The ar tool's previously unused l modifier is now used for specifying
  dependencies of a static library. The arguments of this option
  (or --record-libdeps long form option) will be stored verbatim in the
  __.LIBDEP member of the archive, which the linker may read at link time.

Comment 6 Petr Pisar 2021-03-25 17:01:27 UTC
The server/dia/Makefile code:

               AR = ar clq
[...]
libdia.a: $(OBJS) $(EXTRALIBRARYDEPS)
    $(RM) $@
    $(AR) $@ $(OBJS)
    $(RANLIB) $@
    $(_NULLCMD_)

is generated by xmkmf command (via imake) from server/dia/Imakefile:

NormalLibraryTarget(dia,$(OBJS))

and /usr/share/X11/config/Imake.tmpl:

#ifndef SystemV4
#define SystemV4        NO  /* SVR4 */
#endif
[...]
#ifndef HasLargeTmp
#define HasLargeTmp     NO  /* be paranoid */
#endif
[...]
#ifndef ArCmd
#if HasLargeTmp || SystemV4
#define ArCmd ArCmdBase cq
#else
#define ArCmd ArCmdBase clq
#endif
#endif

which belongs to imake-1.0.8-5.fc34.x86_64. This is a clash between imake and binutils-2.36.

Comment 7 Petr Pisar 2021-03-30 08:42:11 UTC
Fixed in imake-1.0.8-6.fc35.