[reSIProcate] Solaris status (libCstd or stlport?)
Adam Roach
adam at nostrum.com
Mon Apr 23 14:26:17 CDT 2012
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 at resiprocate.org
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
More information about the resiprocate-devel
mailing list