[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lmi] install_msw.sh and third party libraries?
From: |
Greg Chicares |
Subject: |
Re: [lmi] install_msw.sh and third party libraries? |
Date: |
Fri, 17 Jun 2011 16:02:01 +0000 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10 |
On 2011-06-17 14:35Z, Vadim Zeitlin wrote:
[...]
> And looking at the corresponding part of the log I see that the real
> problem was that "make -f install_miscellanea.make clobber" failed:
>
> make $coefficiency -f install_miscellanea.make clobber
> rm: cannot remove
> `/opt/lmi/third_party/src/boost/tools/build/v2/test/startup/boost-root':
> Directory not empty
> make: *** [clobber] Error 1
>
> But when I looked at this directory it _was_ empty so I really don't know
> what happened there. Anyhow, after manually deleting it, the build finally
> succeeded and I can run LMI fine, apparently.
This concerns me, because it's not supposed to fail; but if it fails once,
it may very well fail again. That target is just:
destination := $(prefix)/third_party
[...]
.PHONY: clobber
clobber:
@$(RM) --force --recursive scratch
@$(RM) --force --recursive $(destination)
so it's the second command that failed. It may be that msw7 is holding on to
a handle for a file that's in the process of being deleted, and that Cygwin's
'rm' doesn't or can't compensate adequately. Right now, there's little we can
do except make a note of this and watch for it to occur again.
I guess I should s/\t@/\t/ 'install*.make', e.g.:
- @$(RM) --force --recursive scratch
+ $(RM) --force --recursive scratch
- @$(RM) --force --recursive $(destination)
+ $(RM) --force --recursive $(destination)
which would make this a little easier to diagnose without being much more
verbose. But the problem's apparently in the 'rm' command, not the makefile.
I wouldn't be inclined to instruct 'make' to disregard failure here, e.g.:
- @$(RM) --force --recursive $(destination)
+ -$(RM) --force --recursive $(destination)
because a 'clobber' failure might make a build fail in some horrible way.