BIND 10 #3160: boost::lexical_cast failure on Solaris with SunStudio

BIND 10 Development do-not-reply at isc.org
Wed Sep 11 04:19:53 UTC 2013


#3160: boost::lexical_cast failure on Solaris with SunStudio
-------------------------------------+-------------------------------------
                   Reporter:  muks   |                 Owner:
                       Type:         |                Status:  new
  defect                             |             Milestone:  Next-Sprint-
                   Priority:         |  Proposed
  medium                             |              Keywords:
                  Component:         |             Sensitive:  0
  logging                            |           Sub-Project:  DNS
               CVSS Scoring:         |  Estimated Difficulty:  0
            Defect Severity:  N/A    |           Total Hours:  0
Feature Depending on Ticket:         |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
 We now require a newer version of Boost. This has caused various build
 failures on different platforms. This is one of them:

 `boost::lexical_cast` fails compile on Solaris with SunStudio:

 {{{
 libtool: compile:  /usr/bin/CC -DHAVE_CONFIG_H -I. -I../../../..
 -I../../../../src/lib -I../../../../src/lib -I../../../../src/lib/dns
 -I../../../../src/lib/dns -I/udir/jreed/pkg/include -D_XPG4_2
 -D__EXTENSIONS__ -DOS_SUN -DBOOST_DISABLE_THREADS=1 -I../../../../ext/asio
 -I../../../../ext/coroutine -DASIO_DISABLE_THREADS=1 -g -library=stlport4
 -features=tmplife -features=tmplrefstatic -c zone_finder.cc  -KPIC -DPIC
 -o .libs/zone_finder.o
 "../../../../src/lib/log/log_formatter.h", line 198: Error:
 isc::dns::AbstractRRset::AbstractRRset(const isc::dns::AbstractRRset&) is
 not accessible from
 isc::log::Formatter<isc::log::Logger>::arg<isc::dns::AbstractRRset>(const
 isc::dns::AbstractRRset&).
 "../../../../src/lib/log/log_formatter.h", line 198: Error: Formal
 argument arg of type isc::dns::AbstractRRset in call to
 boost::lexical_cast<std::string,
 isc::dns::AbstractRRset>(isc::dns::AbstractRRset) has an inaccessible copy
 constructor.
 }}}

 See full compile log:
 http://git.bind10.isc.org/~tester/builder/BIND10/20130910064517-Solaris10
 -sparc-Sunstudio/logs/build.out

 Brief analysis:

 The copy constructor is indeed private, but I don't see why it would be
 used in this case. Is it trying to make a new non-const instance out of
 the const reference during lexical_cast<std::string,
 isc::dns::AbstractRRset> due to the guessed template argument being
 non-const?

-- 
Ticket URL: <https://bind10.isc.org/ticket/3160>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list