EPICS Controls 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  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Sequencer news: latest snapshot
From: "J. Lewis Muir" <[email protected]>
To: Benjamin Franksen <[email protected]>
Cc: [email protected]
Date: Mon, 27 Jun 2011 11:12:11 -0500
On 6/27/11 7:48 AM, Benjamin Franksen wrote:
>> This means you shouldn't try to
>> rely on EPICS_HOST_ARCH containing the string "64" when you're building
>> for a 64-bit CPU, and even if it does it isn't necessarily going to be
>> /only/ building for a 64-bit CPU.
> 
> Hm, does that also mean I can not even rely on parsing the current directory
> to find out which target arch I am on?

Hi, Ben.

That's correct.  For example, if I have EPICS_HOST_ARCH set to
"linux-x86" in my environment and ARCH_CLASS set to "i386
x86_64" in configure/os/CONFIG_SITE.Common.darwin-x86 in EPICS
Base, then when I do make in seq-snapshot-2011-06-24, the only
O.* directories in src/seq are O.Common and O.darwin-x86.  So,
the O.darwin-x86 contains "fat" object files, libraries, or
binaries for both i386 and x86_64.

> Could I test the value of ARCH_CLASS
> in the Makefile to decide whether a test should fail or not?

That might work, but maybe not in the way you think.  Say I
specify a 32-bit architecture *and* a 64-bit architecture in
ARCH_CLASS (e.g. i386 and x86_64).  In this case, I think the
test would actually pass when building the i386 machine code but
fail when building the x86_64 machine code.  As Andrew noted,
the EPICS build system does not invoke gcc for each ARCH_CLASS,
that's happening automatically behind the scenes, so I think you
would just see failures when building because the fat binary
includes the x86_64 machine code.  And maybe that's fine?  If a
fat binary (or library) would contain code that would be broken
if run on a particular architecture, then fail even though the
code would actually be OK for some of the architectures (i.e.
i386 in this example).

Lewis

Replies:
Re: Sequencer news: latest snapshot Benjamin Franksen
References:
Sequencer news: latest snapshot Benjamin Franksen
Re: Sequencer news: latest snapshot Benjamin Franksen
Re: Sequencer news: latest snapshot Andrew Johnson
Re: Sequencer news: latest snapshot Benjamin Franksen

Navigate by Date:
Prev: Re: Newport XPS and Motor record John Hammonds
Next: Re: Sequencer news: latest snapshot J. Lewis Muir
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Sequencer news: latest snapshot Pelaia II, Tom
Next: Re: Sequencer news: latest snapshot Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·