Experimental Physics and Industrial Control System
|
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
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:
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 ?
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.
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
|
- 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 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|