Experimental Physics and Industrial Control System
Hi:
Well, I cannot duplicate your exact setup right now,
but for what it's worth, below is the result on a
Mac w/ R3.14.6.
Tomorrow I can check the output for some Redhat linux
and R3.14.7.
Anyway, the sequence performed by make that I get is this:
- compile several *.cpp files, FUX.cpp being the last one
- combine all the *.o into libTools.a
- build some test code, which indeed links recIoc,
searching both the 'base' and 'extension' lib dirs,
presumably locating recIoc in the 'base' lib dir.
The point is:
Your make's error message
"...librecIoc.a', needed by `libTools.a'"
doesn't make sense to me since libTools.a
doesn't include librecIoc.a
Well, these lines in Tools/Makefile could result in
trying to link librecIoc.a into libTools.a:
# In case of shared lib, link these:
Tools_LIBS += $(EPICS_BASE_IOC_LIBS)
... but ChannelArchiver/make.cfg should assert
that you're not trying to build shared libs:
# These are overrides for CONFIG_SITE.
SHARED_LIBRARIES = NO
Did you change that setting?
-Kay
My build log for .../Tools:
/usr/bin/c++ -c -DOSITHREAD_USE_DEFAULT_STACK -DUNIX -
ansi -g -Wall -D ARCH_VERSION=2 -D ARCH_RELEASE=6 -D
ARCH_PATCH=0 -D ARCH_VERSION_TXT=\"2.6.0\" -I/Users/kasemir/epics/
R3.14.6/base/include -I/Users/kasemir/epics/R3.14.6/base/include/os/
Darwin -I/usr/local/xerces-c-src2_4_0/include -fno-common -fPIC -
I. -I.. -I../../../../include/os/Darwin -I../../../../
include ../FUX.cpp
/usr/bin/ar -rc libTools.a ArchiveException.o ArgParser.o
ASCIIParser.o BenchTimer.o BinIO.o Bitset.o CGIDemangler.o
epicsTimeHelper.o Filename.o GenericException.o IndexConfig.o
Lockfile.o MemoryPool.o MsgLogger.o NetTools.o RegularExpression.o
stdString.o FUX.o
/usr/bin/ranlib libTools.a
Installing library ../../../../lib/darwin-ppc/libTools.a
/usr/bin/ranlib ../../../../lib/darwin-ppc/libTools.a
/usr/bin/c++ -c -DOSITHREAD_USE_DEFAULT_STACK -DUNIX -
ansi -g -Wall -D ARCH_VERSION=2 -D ARCH_RELEASE=6 -D
ARCH_PATCH=0 -D ARCH_VERSION_TXT=\"2.6.0\" -I/Users/kasemir/epics/
R3.14.6/base/include -I/Users/kasemir/epics/R3.14.6/base/include/os/
Darwin -I/usr/local/xerces-c-src2_4_0/include -fno-common -I. -
I.. -I../../../../include/os/Darwin -I../../../../include ../
ToolsTest.cpp
/usr/bin/c++ -o ToolsTest -L../../../../lib/darwin-ppc/ -L/Users/
kasemir/epics/R3.14.6/base/lib/darwin-ppc/ -L/usr/local/lib -
lxerces-c ToolsTest.o -lTools -lrecIoc -lsoftDevIoc -
liocsh -lmiscIoc -lrsrvIoc -ldbtoolsIoc -lasIoc -ldbIoc -lregistryIoc
-ldbStaticIoc -lca -lCom -lm
On Nov 9, 2005, at 20:03 , John Dobbins wrote:
Dear All,
I am trying to build Channel Archiver with EPICS R3.14.7 on linux-x86.
I start from a blank slate by installing/building base into the
directory base-3.14.7
I then download extensionsConfigure_20040406.tar.gz and unzip it so
I now have the following tree
base-3.14.7/
Makefile
bin/
.
.
extensions/
Makefile
configure/
I edit extensions/configure/RELEASE so that the value of EPICS_BASE
is correct.
I create the directory extensions/src into which I unzip
archiver.tgz (a 11/07/2005 snapshot of the Channel Archiver) so
that now I have
extensions/
Makefile
configure/
src/
ChannelArchiver
Makefile
/Tools
.
.
.
I change directory to extensions/src/ChannelArchiver and type "make".
Make creates the directory Tools/O.linux-x86, and then begins
compiling the source in the Tools directory. When it gets to
FUX.cpp I get the output:
/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 -ansi -g -Wall -D ARCH_VERSION=2 -D
ARCH_RELEASE=6 -D ARCH_PATCH=0 -D ARCH_VERSION_TXT=\"2.6.0\" -I/mnt/
disk1/tmp/jad/ca_test/base-3.14.7/include -I/mnt/disk1/tmp/jad/
ca_test/base-3.14.7/include/os/Linux -I/usr/local/xerces-c-src2_4_0/
include -g -fPIC -I. -I.. -I../../../../include/os/Linux -
I../../../../include ../FUX.cpp
make[2]: *** No rule to make target `../../../../lib/linux-x86//
librecIoc.a', needed by `libTools.a'. Stop.
make[2]: Leaving directory `/mnt/disk1/tmp/jad/ca_test/extensions/
src/ChannelArchiver/Tools/O.linux-x86'
make[1]: *** [install.linux-x86] Error 2
make[1]: Leaving directory `/mnt/disk1/tmp/jad/ca_test/extensions/
src/ChannelArchiver/Tools'
make: *** [Tools.install] Error 2
It is looking for librecIoc.a in the wrong place? (extensions/lib/
linux-x86 instead of base-3.14.7/lib/linux-x86)
Can someone please suggest how to fix this?
Regards and thanks,
John Dobbins
Lab for Elementary Particle Physics
Cornell University
Ithaca, NY
- Replies:
- Re: Channel Archiver/ Extension Build Question Ralph Lange
- References:
- Channel Archiver/ Extension Build Question John Dobbins
- Navigate by Date:
- Prev:
help Xu HuiJuan
- Next:
RE: help guobao shen
- 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:
Channel Archiver/ Extension Build Question John Dobbins
- Next:
Re: Channel Archiver/ Extension Build Question Ralph Lange
- 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