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  <20132014  2015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: Re: Adding libraries to an IOC application
From: Andrew Johnson <anj@aps.anl.gov>
To: tech-talk@aps.anl.gov
Date: Tue, 2 Apr 2013 12:11:39 -0500
Hi Igor,

On 2013-04-02 Igor H. Soares Nunes wrote:
> 
> # Finally link to the EPICS Base libraries
> prng_LIBS += $(EPICS_BASE_IOC_LIBS)
> prng_LIBS += pcidriver pthread
> prng_INCLUDES += -I/home/igor/pciDriver/include/lib
> prng_INCLUDES += -I/home/igor/pciDriver/include/driver
> #USR_INCLUDES += /lib/x86_64-linux-gnu
> prng_CFLAGS += -O2
...
> ps: libpcidriver.a is also present at /usr/lib

If you add pcidriver to prng_SYS_LIBS instead of prng_LIBS it will be searched 
for in the standard system locations, including /usr/lib.  On Linux the EPICS 
build system already links in libpthread (it's used heavily by libCom), so you 
shouldn't need to name that in your Makefile at all.

> make -C O.linux-x86_64 -f ../Makefile TOP=../../.. T_A=linux-x86_64 install
> make[1]: Entering directory
>  `/home/igor/device_supports/d1_aiS/prngApp/src/O.linux-x86_64' make[1]:
>  *** No rule to make target `../../../lib/linux-x86_64/libpcidriver.a',
>  needed by `prng'.  Stop.

The EPICS build system needs to know where all libraries mentioned in xxx_LIBS 
are to be found.  If libyyy is not located in another EPICS build area that is 
pointed to by your configure/RELEASE file you can tell it where by setting the 
yyy_DIR variable.  That will get rid of the above error, but in your case I'd 
recommend using prng_SYS_LIBS instead.

HTH,

- Andrew
-- 
There has grown up in the minds of certain groups in this country the
notion that because a man or corporation has made a profit out of the
public for a number of years, the government and the courts are charged
with the duty of guaranteeing such profit in the future, even in the face
of changing circumstances and contrary to public interest. This strange
doctrine is not supported by statute or common law. Neither individuals
nor corporations have any right to come into court and ask that the clock
of history be stopped, or turned back. -- Robert A Heinlein, Life-Line


References:
Adding libraries to an IOC application Igor H. Soares Nunes

Navigate by Date:
Prev: Adding libraries to an IOC application Igor H. Soares Nunes
Next: CSS - how to prepare site specific version Vítek Michal
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
Navigate by Thread:
Prev: Adding libraries to an IOC application Igor H. Soares Nunes
Next: CSS - how to prepare site specific version Vítek Michal
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·