EPICS Home

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  2020  2021  2022  2023  2024  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  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Adding libraries to an IOC application
From: "Igor H. Soares Nunes" <[email protected]>
To: "[email protected]" <[email protected]>
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  2019  2020  2021  2022  2023  2024 
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  2019  2020  2021  2022  2023  2024