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
>
Attachment:
signature.asc
Description: OpenPGP digital signature
- Replies:
- RE: Problem with parallel make with seq 2.2.4 on Linux Mark Rivers
- 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
- Navigate by Date:
- Prev:
RE: Problem with parallel make with seq 2.2.4 on Linux Mark Rivers
- 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
- Navigate by Thread:
- Prev:
RE: Problem with parallel make with seq 2.2.4 on Linux Mark Rivers
- Next:
RE: Problem with parallel make with seq 2.2.4 on Linux Mark Rivers
- 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
|