As requested:
-----------------------------------------------------------------------------------------------------------------
~/iocTops/TargetMon/configure/CONFIG_SITE:
1 # CONFIG_SITE
2
3 # Make any application-specific changes to the EPICS build
4 # configuration variables in this file.
5 #
6 # Host/target specific settings can be specified in files named
7 # CONFIG_SITE.$(EPICS_HOST_ARCH).Common
8 # CONFIG_SITE.Common.$(T_A)
9 # CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
10
11 # Set this when you only want to compile this application
12 # for a subset of the cross-compiled target architectures
13 # that Base is built for.
14 #CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040
15
16 # Set this when your IOC and the host use different paths
17 # to access the application. This will be needed to boot
18 # from a Microsoft FTP server or with some NFS mounts.
19 # You must rebuild in the iocBoot directory for this to
20 # take effect.
21 #IOCS_APPL_TOP = <path to application top as seen by IOC>
22
23 # If you don't want to install into $(TOP) then
24 # define INSTALL_LOCATION here
25 #INSTALL_LOCATION=<fullpathname>
26
27 STATIC_BUILD=NO
28 SHARED_LIBRARIES=YES
Here's the makefile:
-----------------------------------------------------------------------------------------------------------------
TOP=../..
include $(TOP)/configure/CONFIG
#----------------------------------------
# ADD MACRO DEFINITIONS AFTER THIS LINE
#=============================
# Build the IOC application
PROD_IOC = TargetMon
# TargetMon.dbd will be created and installed
DBD += TargetMon.dbd
# TargetMon.dbd will be made up from these files:
TargetMon_DBD += base.dbd
TargetMon_DBD += genSub.dbd
TargetMon_DBD += genSubRecord.dbd
TargetMon_DBD += dbGenSubExtra.dbd
# TargetMon_registerRecordDeviceDriver.cpp derives from TargetMon.dbd
TargetMon_SRCS += TargetMon_registerRecordDeviceDriver.cpp
TargetMon_SRCS += readTgtData.c
# Build the main IOC entry point on workstation OSs.
TargetMon_SRCS_DEFAULT += TargetMonMain.cpp
#TargetMon_SRCS_vxWorks += -nil-
# Add support from base/src/vxWorks if needed
#TargetMon_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary
USR_INCLUDES += -I/home/epics/Software/MICESoftware/MICETrackerSoftware/BeamLossMonitorUtils/include
# Link in the code from the support library
TargetMon_LIBS += /home/epics/Software/MICESoftware/MICETrackerSoftware/.lib/libMICECoreUtils
TargetMon_LIBS += /home/epics/Software/MICESoftware/MICETrackerSoftware/.lib/libMICEThreads
TargetMon_LIBS += /home/epics/Software/MICESoftware/MICETrackerSoftware/.lib/libMICELogging
TargetMon_LIBS += /home/epics/Software/MICESoftware/MICETrackerSoftware/.lib/libBeamLossHardwareUtils
TargetMon_LIBS += /home/epics/Software/ExtDeps/gzstream/gzstream
z_DIR = /usr/lib
USR_LIBS += z
# Finally link to the EPICS Base libraries
TargetMon_LIBS += $(EPICS_BASE_IOC_LIBS)
TargetMon_LIBS += genSub
TargetMon_LIBS += receive
TargetMon_LIBS += transmit
#=============================
include $(TOP)/configure/RULES
#----------------------------------------
# ADD RULES AFTER THIS LINE
Here's the end of the compilation results:
-----------------------------------------------------------------------------------------------------------------
/usr/bin/g++ -c -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS -D_XOPEN_SOURCE=500 -D_X86_ -DUNIX -D_BSD_SOURCE -Dlinux -D_REENTRANT -O3 -Wall -m32 -g -I. -I../O.Common -I. -I.. -I../../../include/os/Linux -I../../../include -I/home/epics/epics/base/include/os/Linux -I/home/epics/epics/base/include -I/home/epics/epics/Support/include -I/home/epics/epics/Support/genSub/include -I/home/epics/Software/MICESoftware/MICETrackerSoftware/BeamLossMonitorUtils/include ../TargetMonMain.cpp
make[3]: *** No rule to make target `../../../lib/linux-x86/lib/home/epics/Software/MICESoftware/MICETrackerSoftware/.lib/libMICECoreUtils.a', needed by `TargetMon'. Stop.
make[3]: Leaving directory `/home/epics/epics/iocTops/TargetMon/TargetMonApp/src/O.linux-x86'make[2]: *** [install.linux-x86] Error 2
make[2]: Leaving directory `/home/epics/epics/iocTops/TargetMon/TargetMonApp/src'
make[1]: *** [src.install] Error 2
make[1]: Leaving directory `/home/epics/epics/iocTops/TargetMon/TargetMonApp'
make: *** [TargetMonApp.install] Error 2
-----------------------------------------------------------------------------------------
Pierrick Hanlet
Fermilab, P.O. Box 500, M.S. 122
Batavia, IL 60510
[email protected]
(630)840-5555/8871/6039 office/lab/fax
http://www-d0.fnal.gov/~hanlet
"Whether you think you can or think you can't, either way, you are correct" -- Henry Ford
----- Original Message -----
From: Mark Rivers <[email protected]>
Date: Friday, July 9, 2010 10:03 am
Subject: RE: linking to shared objects user libraries
To: Pierrick Hanlet <[email protected]>, "J. Lewis Muir" <[email protected]>
Cc: [email protected]
> Can you send the Makefile and the exact error message when you build?
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Pierrick Hanlet
> Sent: Friday, July 09, 2010 9:59 AM
> To: J. Lewis Muir
> Cc: [email protected]
> Subject: Re: linking to shared objects user libraries
>
>
> Thanks for the quick responses.
>
> Yes, I did STATIC_BUILD=NO and SHARED_LIBRARIES=YES
> in xxx/configure/CONFIG_SITE.
>
> Where might these be overwritten? Also, since I'm using a
> mixture of static and shared object libraries, will this
> configuration fix me to one type of library or another?
> Pierrick
>
> ------------------------------------------------------------------------
> -----------------
> Pierrick Hanlet
> Fermilab, P.O. Box 500, M.S. 122
> Batavia, IL 60510
> [email protected]
> (630)840-5555/8871/6039 office/lab/fax
> http://www-d0.fnal.gov/~hanlet
>
> "Whether you think you can or think you can't, either way, you are
> correct" -- Henry Ford
>
>
> ----- Original Message -----
> From: "J. Lewis Muir" <[email protected]>
> Date: Friday, July 9, 2010 9:50 am
> Subject: Re: linking to shared objects user libraries
> To: [email protected]
>
>
> > On 7/9/10 9:38 AM, Pierrick Hanlet wrote:
> > >
> > > Hi,
> > > I'm using 3.14.11 on a linux machine. I would like to use several
> > > external (i.e. non-EPICS) .so libraries in my ioc makefile/ However,
> > > the linking appears to default to static libraries. According to the
> > > applications developers guide, section 4.6.23.7, I should modify
> > > CONFIG_SITE, but this doesn't work.
> > >
> > > What should I do?
> >
> > Hi, Pierrick.
> >
> > Did you try setting both STATIC_BUILD=NO and SHARED_LIBRARIES=YES?
> >
> > Also, check to make sure your IOC's configuration isn't changing those
> > variables. If it is, you will need to remove or change them their
> too.
> >
> > Lewis
- Replies:
- RE: RE: linking to shared objects user libraries Mark Rivers
- RE: RE: linking to shared objects user libraries Davidsaver, Michael
- References:
- linking to shared objects user libraries Pierrick Hanlet
- Re: linking to shared objects user libraries J. Lewis Muir
- Re: linking to shared objects user libraries Pierrick Hanlet
- RE: linking to shared objects user libraries Mark Rivers
- Navigate by Date:
- Prev:
Re: VxWorks 6.7, MV5500 Andrew Johnson
- Next:
RE: RE: linking to shared objects user libraries Mark Rivers
- 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:
RE: linking to shared objects user libraries Mark Rivers
- Next:
RE: RE: linking to shared objects user libraries Mark Rivers
- 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
|