EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EPICS Base R3.15.3-rc1 available
From: Andrew Johnson <[email protected]>
To: <[email protected]>
Date: Tue, 3 Nov 2015 10:44:11 -0600
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Ben,

On 11/03/2015 08:30 AM, Benjamin Franksen wrote:
> There is one small problem in the build system (probably in all
> 3.15 versions) and it concerns dependency generation when a
> generated header file is included. This can cause error messages
> from gcc when using parallel make, such as
> 
>> ../builtin.c:11:17: fatal error: snl.h: No such file or
>> directory #include "snl.h"
>> 
>> compilation terminated.
> 
> The solution is to add -MG to the compiler flags when generating 
> dependencies (see the attached patch). According to the gcc man
> page, "-MG assumes missing header files are generated files and
> adds them to the dependency list without raising an error."

Your -MG solution assumes that we only use gcc to build Base, which is
not true for some targets, and it doesn't always result in the correct
dependency information being output.

The correct solution is to make snl.h an explicit dependency of the
builtin$(DEP) and any similar targets in your Makefile, for example:

...
include $(TOP)/configure/RULES

ifdef BASE_3_15
  builtin$(DEP): $(COMMON_DIR)/snl.h
endif


This tells GNUmake to create the snl.h file before trying to generate
the builtin.d file, which is where your errors are coming from.

You can see other examples in the std/filters/test/Makefile and
ioc/db/test/Makefile of Base-3.15, although they don't need to have
the version check in them. This is mentioned in the Release Notes
under the Parallel Builds heading.

Are you trying to fix Peter Heesterman's sequencer build problem? The
- -MG flag wouldn't help him anyway since he's building on Windows, but
the above $(DEP): fix should.

- - Andrew

- -- 
Light thinks it travels faster than anything but it is wrong.
No matter how fast light travels, it finds the darkness has
always got there first, and is waiting for it.
    -- Terry Pratchett, Reaper Man
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)

iQIcBAEBAgAGBQJWOORbAAoJEGx0HvquSvYW9OEQALJJUI8GCBEl/PezVUsxeI48
cGTTRhJ3G0n6KUQKK7L2nvmKaI/SBgVql5oOD39k8xkXq/sXLoZARayc3xTadFBi
l4JUKu4clzZZ6glkztW/g+mAyz6s+y5c57M4wfvFd2Tjljmgw9rTcTAcb9jivUom
Xa4diHudobaXmRB4vu1fC6LwTCO7bumqsqvaDtKS66R7rfKwCb053c/agkj3uqTn
Mct8IBxMyNpYYesNqPxsWMW9TY1JJlv5KhwCtYMSZE0/HQ4JIIhqgiF/SY9npQMY
7Hre9gUQ1u7UvS14PCMfqcwrDb7pOF1g9iV9ykBdjJ1TjsQ9MRamBAqi/+9HP7uT
/eoT2LLLzl3maYF2tSHC8ncjw9Bu9Q0ZQakiU4VmO16Fe07hAN0GNS4bAcXPHdem
BjQHLtMR4RHvKfD8z26FFBCYLQZlzP3RHyywB4x3GRvIdjr1UejzFnBrXjkVZvmG
1u/gS2a/vg6R1IKEgBBZz2t0D6wu9y8VXT3nLRkDncrqo2c2shHD9eC1e1qkpqoa
Ti2KeZNUNgajWo0G9eakpNkaZFXlVibokRD7Tjtm6BfLQ8UbxbeU32s8NGIXKHbP
qdrxLtgTz2guLOrqS1yu9NSW3XOCMyKTDMNSxarKKJ0iGEgeicQXusclvxT69QAq
HglOqwU+SdvFItClOyQv
=Yl17
-----END PGP SIGNATURE-----

Replies:
Re: EPICS Base R3.15.3-rc1 available Benjamin Franksen
References:
EPICS Base R3.15.3-rc1 available Ralph Lange
Re: EPICS Base R3.15.3-rc1 available Benjamin Franksen

Navigate by Date:
Prev: Re: EPICS Base R3.15.3-rc1 available Benjamin Franksen
Next: Re: EPICS Base R3.15.3-rc1 available Benjamin Franksen
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: EPICS Base R3.15.3-rc1 available Benjamin Franksen
Next: Re: EPICS Base R3.15.3-rc1 available Benjamin Franksen
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·