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
<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: iocsh under Epics r3.14 RTEMS Eric Norum
- Next:
drvAscii Allan Honey
- 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
|