[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: 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
        @$(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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]