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  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 
<== Date ==> <== Thread ==>

Subject: Adding libraries to an IOC application
From: "Igor H. Soares Nunes" <igor.nunes@lnls.br>
To: "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Tue, 2 Apr 2013 13:38:22 -0300
Hi everyone,

I`m trying to compile an IOC application but I`m getting some errors. 

Here is my Makefile at App/src:

 TOP=../..

include $(TOP)/configure/CONFIG
#----------------------------------------
#  ADD MACRO DEFINITIONS AFTER THIS LINE
#=============================

#=============================
# Build the IOC application

PROD_IOC = prng
# prng.dbd will be created and installed
DBD += prng.dbd

# prng.dbd will be made up from these files:
prng_DBD += base.dbd
prng_DBD += prngdev.dbd
# Include dbd files from all support applications:
#prng_DBD += xxx.dbd

# Add all the support libraries needed by this IOC
#prng_LIBS += xxx

# prng_registerRecordDeviceDriver.cpp derives from prng.dbd
prng_SRCS += prng_registerRecordDeviceDriver.cpp
prng_SRCS += devprng.c
prng_SRCS += prngdrv.c
# Build the main IOC entry point on workstation OSs.
prng_SRCS_DEFAULT += prngMain.cpp
prng_SRCS_vxWorks += -nil-

# Add support from base/src/vxWorks if needed
#prng_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary

# 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 

#===========================

include $(TOP)/configure/RULES
#----------------------------------------
#  ADD RULES AFTER THIS LINE

The file prngdrv.c, is a driver code.
Then I get the following error:

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.
make[1]: Leaving directory `/home/igor/device_supports/d1_aiS/prngApp/src/O.linux-x86_64'
make: *** [install.linux-x86_64] Error 2

If I move the library libpcidriver to the directory /epics/base/lib/linux-x86_64/, this error does not happens. But I get the following one:

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/libpthread.a', needed by `prng'.  Stop.
make[1]: Leaving directory `/home/igor/device_supports/d1_aiS/prngApp/src/O.linux-x86_64'
make: *** [install.linux-x86_64] Error 2

I believe that, moving libthread.a to /epics/base/lib/linux-x86_64/, must solve this problem. But it is not a good way to solve it, once I can find it at /usr/lib/x86_64-linux-gnu/libpthread.a .
Can anyone help me to set the variables at Makefile correctly?

ps: libpcidriver.a is also present at /usr/lib

Replies:
Re: Adding libraries to an IOC application Andrew Johnson

Navigate by Date:
Prev: Tektronix DMM 4050 device support Pavel Maslov
Next: Re: Adding libraries to an IOC application Andrew Johnson
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 
Navigate by Thread:
Prev: Tektronix DMM 4050 device support Pavel Maslov
Next: Re: Adding libraries to an IOC application Andrew Johnson
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 
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 ·