Hi Peter, sorry for the delay. >>>> We could enhance your original workaround like this: >>>> >>>> am__remove_distdir = \ >>>> { test ! -d "$(distdir)" \ >>>> || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ >>>> - && rm -fr "$(distdir)"; }; } >>>> + && if rm -fr "$(distdir)"; then :; else \ >>>> +## On MSYS (1.0.17) it is not possible to remove a directory that is >>>> +## in use; so, if the first rm fails, we sleep some seconds and retry, >>>> +## to give pending processes some time to exit and "release" the >>>> +## directory before we removed. See automake bug#10470. >>>> + sleep 5 && rm -fr "$(distdir)"; fi; }; } >>>> am__post_remove_distdir = $(am__remove_distdir) >>>> endif %?TOPDIR_P% >> >>> This works, best so far! Committable, if you ask me. >>> > Could you try the attached test case to see if it can reliably expose the problem on MSYS/MinGW? If yes, I'll prepare a patch shortly. Thanks, Stefano