[oe] util-linux-ng 2.17 do_install fails (setarch manpage links)

Michael Smith msmith at cbnco.com
Fri Sep 17 18:52:06 UTC 2010


util-linux-ng fails to build:

...tmp/sysroots/x86_64-linux/usr/bin/install -c -m 644 ctrlaltdel.8 
cytune.8 setarch.8 ldattach.8 tunelp.8 rtcwake.8 pivot_root.8 
switch_root.8 .8 linux32.8 linux64.8 i386.8 .8 
'...tmp/work/i486-oe-linux/util-linux-ng-2.17-r29.2/image/usr/share/man/man8'

.../install: will not overwrite just-created 
`...tmp/work/i486-oe-linux/util-linux-ng-2.17-r29.2/image/usr/share/man/man8/.8' 
with `.8'
make[2]: *** [install-man8] Error 1
make[2]: Leaving directory 
`...tmp/work/i486-oe-linux/util-linux-ng-2.17-r29.2/util-linux-ng-2.17/sys-utils'


In util-linux-ng-2.17/sys-utils/Makefile.am:

SETARCH_LINKS = linux32 linux64
if ARCH_I86
SETARCH_LINKS += i386
endif
...
SETARCH_MAN_LINKS = $(SETARCH_LINKS:=.8)

automake 1.11.1 expands this to:

SETARCH_LINKS = linux32 linux64 $(am__append_19) $(am__append_20) \
         $(am__append_21) $(am__append_22) $(am__append_23) \
         $(am__append_24) $(am__append_25) $(am__append_26)
SETARCH_MAN_LINKS = $(SETARCH_LINKS:=.8)

Since am__append_21..26 are empty, SETARCH_MAN_LINKS is set to:

linux-32.8 linux-64.8 i386.8 .8

RDEV_MAN_LINKS has the same problem, so there are two ".8" files being 
produced, and the makefile is passing both of them to "install" on the 
same command-line -> fail.

The fix is pretty simple, but I'm wondering if I have something grossly 
wrong if no other distro is running into this. I'm updating my tree 
after almost a year, but this seems like a straight automake bug, and 
I'm using the same version of automake as everyone else (and presumably 
the same version of util-linux-ng).

Mike




More information about the Openembedded-devel mailing list