< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index Next in Thread >

Re: [reSIProcate] Solaris status (libCstd or stlport?)


I would recommend checking out a branch from a revision prior to the build system change-over, and observing what flags the build system uses for Solaris (assuming it works with the release you're using).

/a

On 4/23/12 9:24 AM, Daniel Pocock wrote:

On 20/04/12 22:50, Daniel Pocock wrote:


I notice that reSIProcate has previously been compiled on Solaris using
-library=stlport, and I believe this is still necessary or the code
doesn't compile.  Without -library=stlport, it stops like this:

libtool: compile:  /opt/SUNWspro/bin/CC -DHAVE_CONFIG_H -I. -I..
-I/opt/csw/bdb48/include -I/opt/csw/include -xO3 -m32 -xarch=sparc
-DRESIP_OSTYPE_SUNOS -DRESIP_ARCH_SPARC -DRESIP_LARCH_SPARC -D_REENTRANT
-DRESIP_TOOLCHAIN_SUNPRO -c DnsUtil.cxx  -KPIC -DPIC -o .libs/DnsUtil.o
"DnsUtil.cxx", line 550: Error: Formal argument x of type const
std::pair<resip::Data, resip::Data>&  in call to
std::list<std::pair<resip::Data, resip::Data>  >::push_back(const
std::pair<resip::Data, resip::Data>&) is being passed std::pair<char*,
resip::Data>.
1 Error(s) detected.


However, I noticed that dependenices (e.g.
/opt/csw/bdb48/lib/libdb_cxx-4.8.so) are linked against libCstd

If I add -library=stlport, the code builds, but the repro binary fails
with a Segmentation fault, before it even enters the main function.  The
stack trace shows a combination of libCstd and stlport classes.

Can anyone comment on how to deal with this situation?  Should libCstd
be supported?


Just some further observations...
- I notice that the SunPro compiler seems even more strict when using
libCstd (rather than stlport) and discovered more prototype mismatch
issues, such as the error above, now fixed
- However, it breaks on an error about static_cast and templates:

-bash-3.00$ gmake -C resip
gmake: Entering directory `/home/daniel/ws/resip-trunk.git/resip'
Making all in stack
gmake[1]: Entering directory `/home/daniel/ws/resip-trunk.git/resip/stack'
Making all in .
gmake[2]: Entering directory `/home/daniel/ws/resip-trunk.git/resip/stack'
source='SipMessage.cxx' object='SipMessage.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../../build-aux/depcomp \
/bin/bash ../../libtool --tag=CXX   --mode=compile
/opt/studio/sunstudio12.1/bin/CC -DHAVE_CONFIG_H -I. -I../..
-I/opt/csw/include -I/opt/csw/bdb48/include -mt -V -v
-DRESIP_OSTYPE_LINUX -DRESIP_ARCH_SPARC -DRESIP_LARCH_sparc -D_REENTRANT
-DRESIP_TOOLCHAIN_GNU -c -o SipMessage.lo SipMessage.cxx
libtool: compile:  /opt/studio/sunstudio12.1/bin/CC -DHAVE_CONFIG_H -I.
-I../.. -I/opt/csw/include -I/opt/csw/bdb48/include -mt -V -v
-DRESIP_OSTYPE_LINUX -DRESIP_ARCH_SPARC -DRESIP_LARCH_sparc -D_REENTRANT
-DRESIP_TOOLCHAIN_GNU -c SipMessage.cxx
###     command line files and options (expanded):
### -DHAVE_CONFIG_H -I. -I../.. -I/opt/csw/include
-I/opt/csw/bdb48/include -mt -V -v -DRESIP_OSTYPE_LINUX
-DRESIP_ARCH_SPARC -DRESIP_LARCH_sparc -D_REENTRANT
-DRESIP_TOOLCHAIN_GNU -c SipMessage.cxx
CC: Sun C++ 5.10 SunOS_sparc Patch 128228-17 2012/01/17
### CC: Note: NLSPATH =
/opt/studio/sunstudio12.1/prod/bin/../lib/locale/%L/LC_MESSAGES/%N.cat:/opt/studio/sunstudio12.1/prod/bin/../../lib/locale/%L/LC_MESSAGES/%N.cat
/opt/studio/sunstudio12.1/prod/bin/ccfe -y-o -ySipMessage.o -V -I.
-I../.. -I/opt/csw/include -I/opt/csw/bdb48/include -y-fbe
-y/opt/studio/sunstudio12.1/prod/bin/fbe -y-xarch=generic -y-verbose -O0
-ptf /tmp/04436%1.%2 -ptx /opt/studio/sunstudio12.1/prod/bin/CC -ptk
"-DHAVE_CONFIG_H -I. -I../.. -I/opt/csw/include -I/opt/csw/bdb48/include
-mt -v -DRESIP_OSTYPE_LINUX -DRESIP_ARCH_SPARC -DRESIP_LARCH_sparc
-D_REENTRANT -DRESIP_TOOLCHAIN_GNU -c " -D_REENTRANT -D__SunOS_5_10
-D__SUNPRO_CC=0x5100 -Dunix -Dsun -Dsparc -D__sparc -D__sparcv8plus
-D__unix -D__sun -D__SunOS -D__BUILTIN_VA_ARG_INCR -D__SVR4
-D__SUNPRO_CC_COMPAT=5 -D__SUN_PREFETCH -xdbggen=no%stabs+dwarf2
-y-xmemalign=8i -I-xbuiltin -xldscope=global
-instlib=/opt/studio/sunstudio12.1/prod/lib/libCstd.a
-I/opt/studio/sunstudio12.1/prod/include/CC/Cstd
-I/opt/studio/sunstudio12.1/prod/include/CC
-I/opt/studio/sunstudio12.1/prod/include/CC/rw7
-I/opt/studio/sunstudio12.1/prod/include/cc -y-comdat -DHAVE_CONFIG_H
-DRESIP_OSTYPE_LINUX -DRESIP_ARCH_SPARC -DRESIP_LARCH_sparc -D_REENTRANT
-DRESIP_TOOLCHAIN_GNU SipMessage.cxx -s /tmp/ccfe.04436.0.s
&/tmp/ccfe.04436.1.err
rm /tmp/ccfe.04436.0.s
/opt/studio/sunstudio12.1/prod/bin/stdlibfilt -stderr</tmp/ccfe.04436.1.err
ccfe: Sun C++ 5.10 SunOS_sparc Patch 128228-17 2012/01/17
"/opt/studio/sunstudio12.1/prod/include/CC/Cstd/./memory", line 483:
Error: Using static_cast to convert from std::pair<resip::Data,
resip::HeaderFieldValueList*>* to std::list<std::pair<resip::Data,
resip::HeaderFieldValueList*>,
resip::StlPoolAllocator<std::pair<resip::Data,
resip::HeaderFieldValueList*>, resip::PoolBase>>::__list_node_buffer*
not allowed.
"/opt/studio/sunstudio12.1/prod/include/CC/Cstd/./list", line 135:
Where: While instantiating
"std::allocator_interface<resip::StlPoolAllocator<std::pair<resip::Data,
resip::HeaderFieldValueList*>, resip::PoolBase>,
std::list<std::pair<resip::Data, resip::HeaderFieldValueList*>,
resip::StlPoolAllocator<std::pair<resip::Data,
resip::HeaderFieldValueList*>,
resip::PoolBase>>::__list_node_buffer>::allocate(unsigned,
std::list<std::pair<resip::Data, resip::HeaderFieldValueList*>,
resip::StlPoolAllocator<std::pair<resip::Data,
resip::HeaderFieldValueList*>, resip::PoolBase>>::__list_node_buffer*)".
"/opt/studio/sunstudio12.1/prod/include/CC/Cstd/./list", line 135:
Where: Instantiated from non-template code.
1 Error(s) detected.
rm /tmp/ccfe.04436.1.err
gmake[2]: *** [SipMessage.lo] Error 1
gmake[2]: Leaving directory `/home/daniel/ws/resip-trunk.git/resip/stack'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/home/daniel/ws/resip-trunk.git/resip/stack'
gmake: *** [all-recursive] Error 1
gmake: Leaving directory `/home/daniel/ws/resip-trunk.git/resip'
-bash-3.00$

_______________________________________________
resiprocate-devel mailing list
resiprocate-devel@xxxxxxxxxxxxxxx
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel