Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017 
<== Date ==> <== Thread ==>

Subject: Problem resolving symbols during build.
From: "Walters, M \(Malcolm\)" <M.Walters@diamond.ac.uk>
To: <tech-talk@aps.anl.gov>
Date: Thu, 27 Apr 2006 11:33:44 +0100
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
Malcolm.Walters@diamond.ac.uk


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  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017 
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  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·