g+
g+ Communities
Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  Index 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014 
<== Date ==> <== Thread ==>

Subject: epics 3.14.0Base1 build problem
From: pkurpis@keck.hawaii.edu (Peter Kurpis)
To: tech-talk@aps.anl.gov
Cc: pkurpis@keck.hawaii.edu
Date: Fri, 12 Jul 2002 16:01:31 -1000 (HST)
I'm building this native-only version on solaris-sparc-gnu (Solaris 8).
The build faults on trying to build  libcas.so , because the linker
complains about multiply-defined entry points, apparently from 
 caServerI.cc  and  casEventMask.cc .  The detailed message from the
build is attached below.

As for my setup...

In CONFIG_SITE, I've turned on the build of dynamic libraries, and turned 
off the build of vxworks targets.

In os/CONFIG_SITE.solaris-sparc-gnu.solaris-sparc-gnu, I add the following
overrides:
	GNU_DIR = /usr/local
	LD = /usr/ccs/bin/ld -r
	DEPLIB_DIRS += /usr/local/lib	
	SHRLIB_LDFLAGS_YES = -Wl,-G -Wl,-dy

These are because our gcc/g++ is built to use Solaris as/ld instead of 
the GNU binutils versions.  (The last line overrides the default  -share 
in shared library builds, which would introduce  -z text  to  ld  in 
addition to the desired  -G  and  -dy .  The  -z text  breaks the build 
of  libca.so .)

Other than those changes, it's the vanilla build system.  The problem
is shown below.  Can anybody help?

/usr/local/bin/g++ -o libcas.so.3.14 -Wl,-G -Wl,-dy      -L/usr/local/lib -R/usr
/local/lib      caServer.o caServerI.o casCoreClient.o casClient.o casDGClient.o
 casStrmClient.o casPV.o casPVI.o casChannel.o casChannelI.o casPVListChan.o cas
ClientMon.o casChanDelEv.o casAsyncIOI.o casAsyncReadIO.o casAsyncWriteIO.o casA
syncPVExistIO.o casAsyncPVAttachIO.o casEventSys.o casMonitor.o casMonEvent.o in
Buf.o outBuf.o casCtx.o casEventMask.o ioBlocked.o caServerOS.o casIntfOS.o casD
GIntfOS.o casStreamOS.o caServerIO.o casIntfIO.o casDGIntfIO.o casStreamIO.o
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::tableSize(void) const'
 is multiply-defined:
        (file caServerI.o and file casEventMask.o);
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::numEntriesInstalled(vo
id) const' is multiply-defined:
        (file caServerI.o and file casEventMask.o);
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::operator=(resTable<cas
EventMaskEntry, stringId> const &)' is multiply-defined:
        (file caServerI.o and file casEventMask.o);
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::lookup(stringId const
&) const' is multiply-defined:
        (file caServerI.o and file casEventMask.o);
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::verify(void) const' is
 multiply-defined:
        (file caServerI.o and file casEventMask.o);
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::traverseConst(void (ca
sEventMaskEntry::*)(casEventMaskEntry const *) const) const' is multiply-defined
:
        (file caServerI.o and file casEventMask.o);
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::hash(stringId const &)
 const' is multiply-defined:
        (file caServerI.o and file casEventMask.o);
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::splitBucket(void)' is
multiply-defined:
        (file caServerI.o and file casEventMask.o);
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::remove(stringId const
&)' is multiply-defined:
        (file caServerI.o and file casEventMask.o);
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::resTable(void)' is mul
tiply-defined:
        (file caServerI.o and file casEventMask.o);
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::~resTable(void)' is mu
ltiply-defined:
        (file caServerI.o and file casEventMask.o);
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::findDelete(tsSLList<ca
sEventMaskEntry> &, stringId const &)' is multiply-defined:
        (file caServerI.o and file casEventMask.o);
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::find(tsSLList<casEvent
MaskEntry> &, stringId const &) const' is multiply-defined:
        (file caServerI.o and file casEventMask.o);
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::traverse(void (casEven
tMaskEntry::*)(casEventMaskEntry *))' is multiply-defined:
        (file caServerI.o and file casEventMask.o);
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::show(unsigned int) con
st' is multiply-defined:
        (file caServerI.o and file casEventMask.o);
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::resTable(resTable<casE
ventMaskEntry, stringId> const &)' is multiply-defined:
        (file caServerI.o and file casEventMask.o);
ld: fatal: symbol `resTable<casEventMaskEntry, stringId>::add(casEventMaskEntry
&)   ' is multiply-defined:
        (file caServerI.o and file casEventMask.o);
ld: fatal: File processing errors. No output written to libcas.so.3.14
collect2: ld returned 1 exit status
gmake[4]: *** [libcas.so.3.14] Error 1
gmake[4]: Leaving directory `/local/epics/r3.14.0Beta1/base/src/cas/build/O.sola
ris-sparc-gnu'
gmake[3]: *** [buildInstall.solaris-sparc-gnu] Error 2
gmake[3]: Leaving directory `/local/epics/r3.14.0Beta1/base/src/cas/build'
gmake[2]: *** [build.buildInstall] Error 2
gmake[2]: Leaving directory `/local/epics/r3.14.0Beta1/base/src/cas'
gmake[1]: *** [cas.buildInstall] Error 2
gmake[1]: Leaving directory `/local/epics/r3.14.0Beta1/base/src'
gmake: *** [src.buildInstall] Error 2



Navigate by Date:
Prev: Re: Cross compiler source and patch file for gcc-2.7.2 on Linux Andrew Johnson
Next: RE: Cross compiler source and patch file for gcc-2.7.2 on Linux dht
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014 
Navigate by Thread:
Prev: Re: iocsh under Epics r3.14 RTEMS Eric Norum
Next: drvAscii Allan Honey
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·