https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61967
--- Comment #5 from Дилян Палаузов <dilyan.palauzov at aegee dot org> --- Using gcc-ar instead of ar does not help: $grep AR\ = Makefile AR = gcc-ar ... $rm gnu/libgnu.a $make V=1 make[4]: Entering directory '/mnt/new/src/tar-1.28/gnu' rm -f libgnu.a gcc-ar cru libgnu.a copy-acl.o set-acl.o allocator.o areadlink.o areadlinkat.o argmatch.o argp-ba.o argp-eexst.o argp-fmtstream.o argp-fs-xinl.o argp-help.o argp-parse.o argp-pin.o argp-pv.o argp-pvh.o argp-xinl.o argp-version-etc.o backupfile.o bitrotate.o c-ctype.o c-strcasecmp.o c-strncasecmp.o careadlinkat.o cloexec.o close-stream.o closeout.o opendir-safer.o dirname.o basename.o dirname-lgpl.o basename-lgpl.o stripslash.o exclude.o exitfail.o chmodat.o chownat.o fd-hook.o fdutimensat.o filenamecat-lgpl.o fprintftime.o full-write.o gettime.o hash.o human.o imaxtostr.o inttostr.o offtostr.o uinttostr.o umaxtostr.o localcharset.o malloca.o mbchar.o mbscasecmp.o mbuiter.o modechange.o openat-die.o parse-datetime.o priv-set.o progname.o acl-errno-valid.o file-has-acl.o qcopy-acl.o qset-acl.o quotearg.o safe-read.o safe-write.o save-cwd.o savedir.o se-context.o se-selinux.o stat-time.o statat.o strftime.o strnlen1.o tempname.o timespec.o unistd.o dup-safer.o fd-safer.o pipe-safer.o uniwidth/width.o unlinkdir.o utimens.o version-etc.o version-etc-fsf.o wctype-h.o xmalloc.o xalloc-die.o xgetcwd.o xsize.o xstrndup.o xstrtol.o xstrtoul.o xstrtol-error.o xstrtoumax.o xvasprintf.o xasprintf.o asnprintf.o chdir-long.o fcntl.o futimens.o getopt.o getopt1.o linkat.o openat-proc.o printf-args.o printf-parse.o regex.o selinux-at.o utimensat.o vasnprintf.o ranlib libgnu.a make[4]: Leaving directory '/mnt/new/src/tar-1.28/gnu' ... make[2]: Entering directory '/mnt/new/src/tar-1.28/rmt' gcc -std=gnu99 -pipe -flto -O3 -Wl,-S -Wl,--hash-style=gnu -Wl,-O1 -Wl,-z,relro -L/usr/lib64 -L/lib64 -o rmt rmt.o ../gnu/libgnu.a /tmp/ccpoLHOH.ltrans0.ltrans.o: In function `close_device': ccpoLHOH.ltrans0.o:(.text+0x3b4): undefined reference to `umaxtostr' /tmp/ccpoLHOH.ltrans0.ltrans.o: In function `main': ccpoLHOH.ltrans0.o:(.text.startup+0x1a): undefined reference to `set_program_name' ccpoLHOH.ltrans0.o:(.text.startup+0x29): undefined reference to `argp_version_setup' ccpoLHOH.ltrans0.o:(.text.startup+0x1c4): undefined reference to `umaxtostr' ccpoLHOH.ltrans0.o:(.text.startup+0x1e7): undefined reference to `full_write' ccpoLHOH.ltrans0.o:(.text.startup+0x245): undefined reference to `safe_read' ccpoLHOH.ltrans0.o:(.text.startup+0x25f): undefined reference to `umaxtostr' ccpoLHOH.ltrans0.o:(.text.startup+0x282): undefined reference to `full_write' ccpoLHOH.ltrans0.o:(.text.startup+0x295): undefined reference to `xstrdup' ccpoLHOH.ltrans0.o:(.text.startup+0x3f8): undefined reference to `umaxtostr' ccpoLHOH.ltrans0.o:(.text.startup+0x7cc): undefined reference to `umaxtostr' ccpoLHOH.ltrans0.o:(.text.startup+0x860): undefined reference to `full_write' ccpoLHOH.ltrans0.o:(.text.startup+0x89a): undefined reference to `xrealloc' ccpoLHOH.ltrans0.o:(.text.startup+0x8c6): undefined reference to `xrealloc' collect2: error: ld returned 1 exit status Makefile:1266: recipe for target 'rmt' failed make[2]: *** [rmt] Error 1 make[2]: Leaving directory '/mnt/new/src/tar-1.28/rmt' Makefile:1348: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/mnt/new/src/tar-1.28' Makefile:1287: recipe for target 'all' failed make: *** [all] Error 2