Yes, that change fixes the make clean error in the documentation directory on Windows.
Thanks,
Mark
-----Original Message-----
From: Ben Franksen [mailto:[email protected]]
Sent: Saturday, January 14, 2017 8:53 PM
To: Mark Rivers; [email protected]
Subject: Re: Problem with parallel make with seq 2.2.4 on Linux
Am 14.01.2017 um 23:12 schrieb Mark Rivers:
>> This might be something not specific to the sequencer; at least I
>> am not aware of doing anything special for the clean or uninstall
>> targets.
>
> I only get that error with the sequencer, not with any other modules.
> It looks like the error is in the documentation directory.
>
> Indeed I get that error by simply running non-parallel make in the
> documentation directory:
Ah, right, I had forgotten that I have to emulate almost all the
standard "phony" epics make targets in the Makefile for the
documentation subdir.
> J:\epics\support\seq\documentation>make clean rm -rf O.Common
> process_begin: CreateProcess(NULL, rm -rf O.Common, ...) failed. make
> (e=2): The system cannot find the file specified. Makefile:45: recipe
> for target 'clean' failed make: [clean] Error 2 (ignored)
>
> So it looks like there is no O.Common directory there, and that
> produces an error?
>
> There is indeed no O.Common directory, but make on Linux just
> silently ignores that.
>
> corvette:~/support/seq/documentation>make clean rm -rf O.Common
Indeed it's a bug in teh sequencer; I should have used $(RMDIR) in the
Makefile, not 'rm -rf'. Will fix. For the meantime, apply
--- old-branch-2-2/documentation/Makefile 2017-01-15
03:50:28.542445952 +0100
+++ new-branch-2-2/documentation/Makefile 2017-01-15
03:50:28.602441426 +0100
@@ -42,7 +42,7 @@
@echo " doctest to run all doctests embedded in the
documentation (if enabled)"
realclean clean:
- -rm -rf $(BUILDDIR)
+ $(RMDIR) $(BUILDDIR)
runtests:
This fix will be in the next release. Thanks for the report and for
helping with the debug.
Cheers
Ben
> -----Original Message----- From: Ben Franksen
> [mailto:[email protected]] Sent: Saturday,
> January 14, 2017 1:25 PM To: Mark Rivers; [email protected]
> Subject: Re: Problem with parallel make with seq 2.2.4 on Linux
>
> Am 14.01.2017 um 19:57 schrieb Mark Rivers:
>> Hi Ben,
>>
>> Thanks for the quick reply.
>>
>> I added HDEPENDS_METHOD=MKMF here in src/snc/Makefile:
>>
>> *********************** # avoid deprecation warnings with base 3.15
>> and later ifeq ($(BASE_3_14),YES) LEMON = $(call
>> PATH_FILTER,$(INSTALL_HOST_BIN)/lemon$(HOSTEXE)) else LEMON =
>> $(abspath $(INSTALL_HOST_BIN)/lemon$(HOSTEXE)) endif
>>
>> HDEPENDS_METHOD=MKMF
>>
>> include $(TOP)/configure/RULES ***********************
>>
>> That worked to fix the parallel make problems on Linux. Without
>> that
> line it was failing about 50% of the time, with it I saw no failures
> in over 15 attempts.
>
> Good! I think this is it, then.
>
>> There is a minor problem on Windows, which is independent of the
>> HDEPENDS line:
>>
>> J:\epics\support\seq>make -sj8 clean uninstall process_begin:
>> CreateProcess(NULL, rm -rf O.Common, ...) failed. make (e=2): The
>> system cannot find the file specified.
>>
>> The above error seems to be benign, but it would be nice to
>> eliminate it.
>
> This might be something not specific to the sequencer; at least I am
> not aware of doing anything special for the clean or uninstall
> targets.
>
> Can you send the full output with -j8 but without -s? If you have
> make version >= 4 then you could add the command line flag -Orecurse,
> which gives maximally correlated grouping of output for parallel
> builds, making it easier to see where exactly the problem appears.
>
> Cheers Ben
>
>>
>> -----Original Message----- From: [email protected]
>> [mailto:[email protected]] On Behalf Of Ben Franksen
>> Sent: Saturday, January 14, 2017 10:35 AM To:
>> [email protected] Subject: Re: Problem with parallel make with
>> seq 2.2.4 on Linux
>>
>> Am 14.01.2017 um 16:52 schrieb Ben Franksen:
>>> Anyway, I can suppress the error message with make-3.81/gcc-4.7.2
>>> by adding explicit dependencies of the relevant .d files:
>>>
>>> lexer.o: snl.h type_check.o: snl.h var_types.o: snl.h
>>>
>>> The other combination (make-4.1/gcc-5.4.0) is not able to
>>> complete successfully when run directly after rm -f snl.h *.d,
>>> even with these extra dependencies listed.
>>
>> Please ignore the last sentence, I made a mistake. Adding the
>> explicit dependencies really does work on my machine, too. But I
>> still think this is not the right way to fix the problem. Manually
>> added dependencies are brittle in the face of evolving code, which
>> is why we auto-generate them in the first place.
>>
>> A better fix (I think) is to set
>>
>> HDEPENDS_METHOD=MKMF
>>
>> in src/snc/Makefile (in the CONFIG section). This lets the EPICS
>> build system use mkmf.pl to generate the dependencies even on
>> platforms where the C compiler supports the appropriate flags to
>> generate dependencies. (Note that for 3.14 I had already copied the
>> corresponding rule from base-3.15 which is why the problem
>> manifests only with 3.15).
>>
>> (I noticed that after I do 'rm snl.h *.d' this still does not
>> re-generate the .d files for the three files that include snl.h. It
>> is hard for me to judge whether this may cause problems in the
>> future.)
>>
>> Anyway, if this works for you (Mark), then I will make a new
>> release with this fix (and with a fix for the other build problem
>> you reported).
>>
>> Cheers Ben
>>
>
________________________________
Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V.
Aufsichtsrat: Vorsitzender Dr. Karl Eugen Huthmacher, stv. Vorsitzende Dr. Jutta Koch-Unterseher
Geschäftsführung: Prof. Dr. Anke Rita Kaysser-Pyzalla, Thomas Frederking
Sitz Berlin, AG Charlottenburg, 89 HRB 5583
Postadresse:
Hahn-Meitner-Platz 1
D-14109 Berlin
http://www.helmholtz-berlin.de
- References:
- Problem with parallel make with seq 2.2.4 on Linux Mark Rivers
- Re: Problem with parallel make with seq 2.2.4 on Linux Andrew Johnson
- Re: Problem with parallel make with seq 2.2.4 on Linux Ben Franksen
- Re: Problem with parallel make with seq 2.2.4 on Linux Ben Franksen
- RE: Problem with parallel make with seq 2.2.4 on Linux Mark Rivers
- Re: Problem with parallel make with seq 2.2.4 on Linux Ben Franksen
- RE: Problem with parallel make with seq 2.2.4 on Linux Mark Rivers
- Re: Problem with parallel make with seq 2.2.4 on Linux Ben Franksen
- Navigate by Date:
- Prev:
Re: Problem with parallel make with seq 2.2.4 on Linux Ben Franksen
- Next:
Re: CA server bind failure on Windows Ralph Lange
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
<2017>
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Problem with parallel make with seq 2.2.4 on Linux Ben Franksen
- Next:
Re: Problem with parallel make with seq 2.2.4 on Linux Ben Franksen
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
<2017>
2018
2019
2020
2021
2022
2023
2024
|