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
<2013>
2014
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
<2013>
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|