Subject: [Boost-bugs] [Boost C++ Libraries] #3190: Boost doesn't build on solaris when compiled with libCstd - focus on program_options
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-06-18 15:28:08
#3190: Boost doesn't build on solaris when compiled with libCstd - focus on
program_options
-------------------------------------------------------------+--------------
Reporter: Cosmin Cremarenco <Cosmin.CREMARENCO_at_[hidden]> | Owner: vladimir_prus
Type: Bugs | Status: new
Milestone: Boost 1.40.0 | Component: program_options
Version: Boost 1.39.0 | Severity: Problem
Keywords: |
-------------------------------------------------------------+--------------
Only a handful of boost libraries compile on sun solaris when
compiled and linked with libCstd.
Since we use extensively program_options I propose a patch that
will make it build in this environment. I hope other patches
will follow for other libraries since we need boost in our application.
I attached a compile log with all errors and warnings that I get for
the whole boost library.
I also attached a tentative patch just for program-options.
My environment:
bash$ uname -a
SunOS pegasus 5.10 Generic_118855-33 i86pc i386 i86pc
pegasus ccremarenco /src/work/mw/boost_1_39_0-sunstudio11-libcstd-nopatch/
bash$ CC -V
CC: Sun C++ 5.8 Patch 121018-11 2007/05/02
Below only the errors for program-options,
specifically options-description.cpp that fails to build:
"libs/program_options/src/options_description.cpp", line 341: Error: Could
not find a match for std::count<std::InputIterator, std::T,
std::Size>(char*, char*, char) needed in::format_paragraph(std::ostream &,
std::string, unsigned, unsi
gned).
"libs/program_options/src/options_description.cpp", line 391: Error: Could
not find a match for std::distance<std::ForwardIterator,
std::Distance>(const char*, const char*const) needed
in::format_paragraph(std::ostream &, std::string, un
signed, unsigned).
"libs/program_options/src/options_description.cpp", line 402: Error: Too
few arguments for template std::reverse_iterator.
"/nfs_tools/SunOSx86/5.10/sunstudio/sunstudio11/SUNWspro/prod/include/CC/Cstd/rw/iterator",
line 432: Error: "friend" declaration is incompatible with function
template.
"libs/program_options/src/options_description.cpp", line 402: Where:
While specializing "std::reverse_iterator<const char*>".
"libs/program_options/src/options_description.cpp", line 402: Where:
Specialized in non-template code.
"libs/program_options/src/options_description.cpp", line 403: Error: Too
few arguments for template std::reverse_iterator.
"libs/program_options/src/options_description.cpp", line 411: Error: Could
not find a match for std::distance<std::ForwardIterator,
std::Distance>(const char*, const char*) needed
in::format_paragraph(std::ostream &, std::string, unsigne
d, unsigned).
6 Error(s) detected.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/3190> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:00 UTC