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  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024  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  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Building EPICS base/IOC only for cross target
From: "Johnson, Andrew N. via Tech-talk" <tech-talk at aps.anl.gov>
To: Florian Feldbauer <florian at ep1.ruhr-uni-bochum.de>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Tue, 11 Feb 2020 18:18:10 +0000
Support for the _<osclass> versions of the make variables is provided in the EPICS build system, but not for the _<target-arch> versions, hence the need for the second line. There are other ways to do this kind of conditional, but I think the variable name approach that we use is easier to read than wrapping lines inside GNUmake conditionals.

- Andrew

-- 
Sent from my iPad

> On Feb 11, 2020, at 5:21 PM, Florian Feldbauer <florian at ep1.ruhr-uni-bochum.de> wrote:
> 
> Hey Andrew,
> 
> thanks for the answer. I thought about this idea, but in the developers guide (base 3.15) only PROC_IOC_<osclass> was mentioned.
> Good to know one can also define this for single target archs.
> 
> Florian
> 
>> Am 11.02.2020 um 18:16 schrieb Johnson, Andrew N.:
>> Hi Florian,
>> 
>> Thanks for the clarification. The way to handle this is to adjust the Makefile that compiles the IOC so it *only* tries to build and link the IOC program for the linux-arm target, not for the Linux host. There is a slight trick to doing this, but it’s usually a simple one-line addition.
>> 
>> Where the Makefile says something like
>> 
>>   PROD_IOC = <iocname>
>> 
>> replace it with this:
>> 
>>   PROD_IOC_linux-arm = <iocname>
>>   PROD_IOC += $(PROD_IOC_$(T_A))
>> 
>> When building any architecture other than linux-arm the second line will evaluate to nothing, so nothing will be built.
>> 
>> HTH,
>> 
>> - Andrew
>> 
>> 
>> 
>>>> On Feb 11, 2020, at 10:52 AM, Florian Feldbauer via Tech-talk <tech-talk at aps.anl.gov> wrote:
>>> 
>>> Hey Michael,
>>> 
>>> as far as I understood, they would like to build everything (base, support modules and IOC) just for the target arch.
>>> But the error occurs for the IOC (which contains a custom support module)
>>> 
>>> The missing library is the libisegHal which is only build for linux-arm as a part of the same yocto image.
>>> The library is needed for iseg's support module.
>>> 
>>> Cheers,
>>> Florian
>>> 
>>> Am 11.02.2020 um 16:34 schrieb Michael Davidsaver:
>>>> Can you clarify a couple of points?
>>>> 
>>>> Are you referring to building EPICS Base itself, or a support module / IOC application?
>>>> 
>>>> Which libraries are missing?  (this might answer the previous question)
>>>> 
>>>> 
>>>> On 2/11/20 5:27 AM, Florian Feldbauer via Tech-talk wrote:
>>>>> Hey all,
>>>>> 
>>>>> I was contacted by iseg with the following problem:
>>>>> 
>>>>> They want to include EPICS in their yocto image for the crate controllers.
>>>>> The host system is a linux-x86_64 system, the target arch linux-arm.
>>>>> 
>>>>> Currently their Yocto recipe fails, because EPICS is build for both host and target arch and some libraries are missing for the host.
>>>>> 
>>>>> Is there a way to build EPICS only for a target architecture?
>>>>> 
>>>>> Best regards,
>>>>> Florian
>>>>> 
>>> -- 
>>> Dr. Florian Feldbauer
>>> 
>>> Ruhr-Universität Bochum
>>> Experimentalphysik I AG
>>> Universitätsstr. 150
>>> Fach-Nr. 125
>>> D-44801 Bochum
>>> 
>>> Office: NB 2/134
>>> Phone:  (+49)234 / 32-23563
>>> Fax:    (+49)234 / 32-14170
>>> https://paluma.ruhr-uni-bochum.de
>>> 
> -- 
> Dr. Florian Feldbauer
> 
> Ruhr-Universität Bochum
> Experimentalphysik I AG
> Universitätsstr. 150
> Fach-Nr. 125
> D-44801 Bochum
> 
> Office: NB 2/134
> Phone:  (+49)234 / 32-23563
> Fax:    (+49)234 / 32-14170
> https://paluma.ruhr-uni-bochum.de
> 

References:
Building EPICS base/IOC only for cross target Florian Feldbauer via Tech-talk
Re: Building EPICS base/IOC only for cross target Michael Davidsaver via Tech-talk
Re: Building EPICS base/IOC only for cross target Florian Feldbauer via Tech-talk
Re: Building EPICS base/IOC only for cross target Johnson, Andrew N. via Tech-talk
Re: Building EPICS base/IOC only for cross target Florian Feldbauer via Tech-talk

Navigate by Date:
Prev: Re: send/receive waveform over network. Tomasz Brys via Tech-talk
Next: Standard RTEMS NFSv3 client Matt Rippa via Tech-talk
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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Building EPICS base/IOC only for cross target Florian Feldbauer via Tech-talk
Next: StreamDevice Raw converter Henrique Silva via Tech-talk
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  <20202021  2022  2023  2024 
ANJ, 11 Feb 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·