Mats Erik Andersson wrote: > Hello, > > I have made a strange observation concerning > > lib/unlocked-io.h > > which appears when running the bootstrap script > for GNU Inetutils. > > Until very recently, "unlocked-io" was included > as a dependency in our "bootstrap.conf". Upon my > complaint, Alfred M. Szmidt remove that entry, > after which the following issue vanished completely. > Therefore we suspect there be a bug in GNUlib on > this matter. > > Now, running "bootstrap" on a fresh cheackout of > GNU Inetutils, and then happily running > > rsync -Ca . ../temp/ > > one would expect a source tree where configuration and > compilation works. Right? But alas, it does not. > > An empty soft link > > lib/unlocked-io.h > > remains, which is pointing at the non-existent > location > > ../gnulib/unlocked-io.h
Thanks for the report. There is already code in gnulib's bootstrap script designed to remove dangling symlinks from m4/ and lib/-style directories: # Remove any dangling symlink matching "*.m4" or "*.[ch]" in some # gnulib-populated directories. Such .m4 files would cause aclocal to fail. # The following requires GNU find 4.2.3 or newer. Considering the usual # portability constraints of this script, that may seem a very demanding # requirement, but it should be ok. Ignore any failure, which is fine, # since this is only a convenience to help developers avoid the relatively # unusual case in which a symlinked-to .m4 file is git-removed from gnulib # between successive runs of this script. find "$m4_base" "$source_base" \ -depth \( -name '*.m4' -o -name '*.[ch]' \) \ -type l -xtype l -delete > /dev/null 2>&1 If it's not working for you, perhaps you've changed the definition of source_base or you're using an inadequate version of find. Otherwise, please investigate.