Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017 
<== Date ==> <== Thread ==>

Subject: RE: EPICS 3.15.0 incompatible make rules
From: "Andrew C. Starritt" <Andrew.Starritt@synchrotron.org.au>
To: Andrew Johnson <anj@aps.anl.gov>, "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Mon, 8 Oct 2012 12:23:22 +1100
Hi Andrew, Benjamin, 

> > (A somewhat strange effect is that if I set LANG=C, then I get no
> such
> > message!)
> 
> I can't explain that...
>
I think I can. Try this: 

[starritt@redgum]$ touch a z A Z _
[starritt@redgum]$ ls -l
-rw-rw-r-- 1 starritt starritt 0 Oct  8 12:03 _
-rw-rw-r-- 1 starritt starritt 0 Oct  8 12:03 a
-rw-rw-r-- 1 starritt starritt 0 Oct  8 12:03 A
-rw-rw-r-- 1 starritt starritt 0 Oct  8 12:03 z
-rw-rw-r-- 1 starritt starritt 0 Oct  8 12:03 Z

[starritt@redgum]$ export LANG=C
[starritt@redgum]$ ls -l
-rw-rw-r-- 1 starritt starritt 0 Oct  8 12:03 A
-rw-rw-r-- 1 starritt starritt 0 Oct  8 12:03 Z
-rw-rw-r-- 1 starritt starritt 0 Oct  8 12:03 _
-rw-rw-r-- 1 starritt starritt 0 Oct  8 12:03 a
-rw-rw-r-- 1 starritt starritt 0 Oct  8 12:03 z

The order that ls lists directories and files is affected by 
the LANG environment variable.

With no explicit dependency rule, items added to DIRS with

DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *App))

are build in the same order as ls lists them. I think there must be a 
depencency order that is implicity being catered for when LANG is set
to C.

Regards

--
Andrew Starritt | Principal Controls Engineer | Australian Synchrotron
p: (03) 8540 4164 | f: (03) 8540 4200
andrew.starritt@synchrotron.org.au | www.synchrotron.org.au
800 Blackburn Road, Clayton, Victoria 3168


> -----Original Message-----
> From: tech-talk-bounces@aps.anl.gov [mailto:tech-talk-
> bounces@aps.anl.gov] On Behalf Of Andrew Johnson
> Sent: Monday, 8 October 2012 11:48 AM
> To: tech-talk@aps.anl.gov
> Subject: Re: EPICS 3.15.0 incompatible make rules
> 
> Hi Benjamin,
> 
> On 2012-10-07 Benjamin Franksen wrote:
> > > CLEANS += <list of files to be cleaned>
> > >
> > > ifndef BASE_3_15
> > > clean::
> > >       $(RM) $(CLEANS)
> > > endif
> >
> > What about support modules like seq? I hope the double colon rule
> means
> >  that multiple clean rules (from multiple support modules) are not in
> >  conflict with each other, but just wanted to make sure. If yes, I
> will
> >  change the sequencer build rules accordingly.
> 
> The sequencer build will need to adopt the above approach to be
> compatible
> with the 3.15 build rules.  The double-colon rule is there for
> backwards
> compatibility with 3.14 (that's an if-not-defined BASE_3_15 condition,
> so it
> only applies for rules from older versions of Base); 3.14 uses double-
> colon
> rules for clean.  I think 3.13 used a single-colon rules.
> 
> > BTW, on my 64 bit linux (debian testing) with base-3.15.0.1, I get an
> > inexplicable
> >
> > ben@sarun[1]: .../seq/branch-2-1 > make -sj
> > make[3]: Circular libseqDev.so. <- ../../../lib/linux-
> x86_64/libseqDev.so.
> > dependency dropped.
> >
> > This did not happen with 3.14, I guess the new base rules add some
> extra
> > dependencies. Any idea how to fix that?
> 
> This may be something to do with the patch mentioned below, or it might
> be
> related to a change in $(DEP) dependency rules; if it still occurs
> after
> applying the patch get back to me.
> 
> > (A somewhat strange effect is that if I set LANG=C, then I get no
> such
> > message!)
> 
> I can't explain that...
> 
> > Also strange: all the generated shared libraries (.so) have an extra
> '.'
> > appended:
> 
> Please read the Known Problems for 3.15 and apply the patch to fix
> that.
> 
> HTH,
> 
> - Andrew
> --
> Never interrupt your enemy when he is making a mistake.
> -- Napoleon Bonaparte


Replies:
Re: EPICS 3.15.0 incompatible make rules Benjamin Franksen
References:
EPICS 3.15.0 incompatible make rules Dirk Zimoch
Re: EPICS 3.15.0 incompatible make rules Andrew Johnson
Re: EPICS 3.15.0 incompatible make rules Benjamin Franksen
Re: EPICS 3.15.0 incompatible make rules Andrew Johnson

Navigate by Date:
Prev: Re: EPICS 3.15.0 incompatible make rules Andrew Johnson
Next: Re: EPICS 3.15.0 incompatible make rules Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017 
Navigate by Thread:
Prev: Re: EPICS 3.15.0 incompatible make rules Andrew Johnson
Next: Re: EPICS 3.15.0 incompatible make rules Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·