Experimental Physics and Industrial Control System
I have a small problem resolving symbols when trying to build an ioc for
multiple architectures under R3.14.7. I am building an ioc under both
VxWorks and Linux.
Since the VxWorks version uses a real hardware I only want to link
certain libraries for one architecture i.e.
BL06I-MO-IOC-02_LIBS_vxWorks += drvIK320
BL06I-MO-IOC-02_LIBS_vxWorks += oms
However on linking, various symbols are left undefined. These all come
from the EPICS_BASE_IOC_LIBS. Although I have
BL06I-MO-IOC-02_LIBS += $(EPICS_BASE_IOC_LIBS)
at the end of my Makefile this ends up before the libraries above. The
reason for this is that the architecture specific terms are always
appended to the main ones. e.g.
ifneq ($(strip $(USR_LIBS_$(OS_CLASS))),)
USR_LIBS += $(subst -nil-,,$(USR_LIBS_$(OS_CLASS)))
else
ifdef USR_LIBS_DEFAULT
USR_LIBS += $(USR_LIBS_DEFAULT)
endif
endif
As a workaround I can include the base libraries for each architecture
individually i.e.
BL06I-MO-IOC-02_LIBS_vxWorks += $(EPICS_BASE_IOC_LIBS)
BL06I-MO-IOC-02_LIBS_Linux += $(EPICS_BASE_IOC_LIBS)
Is there a better way of doing this?
Malcolm
Malcolm Walters
01235 778557
Diamond Light Source Ltd.
Rutherford Appleton Laboratory,
Chilton, Didcot, Oxfordshire OX11 0QX
[email protected]
- Navigate by Date:
- Prev:
Re: drvAscii decode string Matt Rippa
- Next:
RE: Problem resolving symbols during build. Mark Rivers
- 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: R3.14 support for MIPS (hkbaja47) Matt Rippa
- Next:
RE: Problem resolving symbols during build. Mark Rivers
- 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