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  2020  2021  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  2020  2021  2022  2023  <2024
<== Date ==> <== Thread ==>

Subject: RE: epics build system question again - build order
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: "Johnson, Andrew N." <anj at anl.gov>, William Kirstaedter <kirstaedter at fhi-berlin.mpg.de>, Ralph Lange <ralph.lange at gmx.de>, EPICS Tech Talk <tech-talk at aps.anl.gov>
Date: Mon, 10 Jun 2024 18:37:24 +0000

Sorry, Andrew is right, to build the support library statically only use SHARED_LIBRARIES=NO.

 

STATIC_BUILD=YES would be used in the IOC application Makefile to tell it to link with static support libraries, so the executable does not depend on any EPICS shareable libraries.

 

Mark

 

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Johnson, Andrew N. via Tech-talk
Sent: Monday, June 10, 2024 1:27 PM
To: William Kirstaedter <kirstaedter at fhi-berlin.mpg.de>; Ralph Lange <ralph.lange at gmx.de>; EPICS Tech Talk <tech-talk at aps.anl.gov>
Subject: Re: epics build system question again - build order

 

Hi William,

 

If you edit the Makefile which creates the library and set SHARED_LIBRARIES=NO that will tell the build system to not generate any lib*.so files when building that library. The IOC-generating app will still need to link with the shared libraries from upstream (snmp etc.), but it sounds like that would work for you.

 

- Andrew

 

 

On 6/10/24, 2:18 PM, "Tech-talk" <tech-talk-bounces at aps.anl.gov> wrote:

 

Thanks.

Its a support library as far as I can tell.
source: https://groups.nscl.msu.edu/controls/files/devSnmp.html
download: https://groups.nscl.msu.edu/controls/

I think renaming to snmpSup is more self-explanatory, that way the Makefile stays default ... nobody reads Makefiles, or check for irregularities. :>

another quick question: how can I tell EPICS to static compile the support library?
It uses some system library that needs additional compiler flags, and I would have to repeat them in the IOC-generating App... 

cheers!

William Kirstaedter
PP&B Computer Support Group
Fritz-Haber-Institut Berlin

Am 10.06.24 um 19:57 schrieb Ralph Lange via Tech-talk:

On Mon, 10 Jun 2024 at 19:47, William Kirstaedter via Tech-talk <tech-talk at aps.anl.gov> wrote:


my main App is called IOCINFRAApp, the support App is called snmpApp.
the build system now tries to compile IOCINFRAApp first, and fails
because a dbd file from snmpApp is not yet available.

I've renamed my snmpApp to 0snmpApp and it works, but thats too hacky in
my eyes.
Is there some more elegant way to achieve that snmpApp gets built before
IOCINFRAApp ?

 

In general:

There are applications that generate IOCs, and there are support applications that provide things (libraries, templates) to be used by IOC-creating apps.

If the IOC-creating kind are called *App and the support applications are called *Sup, the default order (first *Sup, then *App) will work.

 

Specifically:

You can always declare a dependency that is not covered by the default build order in the Makefile. In your case,

IOCINFRAApp_DEPEND_DIRS += snmpApp

 

Cheers,
~Ralph

 


Replies:
Re: epics build system question again - build order William Kirstaedter via Tech-talk
References:
epics build system question again - build order William Kirstaedter via Tech-talk
Re: epics build system question again - build order Ralph Lange via Tech-talk
Re: epics build system question again - build order William Kirstaedter via Tech-talk
Re: epics build system question again - build order Johnson, Andrew N. via Tech-talk

Navigate by Date:
Prev: Re: epics build system question again - build order Johnson, Andrew N. via Tech-talk
Next: Re: epics build system question again - build order Johnson, Andrew N. 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  2020  2021  2022  2023  <2024
Navigate by Thread:
Prev: Re: epics build system question again - build order Johnson, Andrew N. via Tech-talk
Next: Re: epics build system question again - build order William Kirstaedter 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  2020  2021  2022  2023  <2024
ANJ, 10 Jun 2024 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·