[1.38.0] regexp compile error on Solaris 10 Sun Studio 11

Hi, I had successfully compiled regexp library with boost_1_34_1 but with version boost_1_38_0 I'm getting this error: dmake -f sunpro.mak CC -c -O2 -I../../../ -o sunpro/libboost_regex/cregex.o ../src/cregex.cpp "../../..//boost/regex/v4/basic_regex_parser.hpp", line 379: Error: Could not find a match for std::distance<std::ForwardIterator, std::Distance>(const char*, const char*) needed in boost::re_detail::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char>>>::parse_open_paren(). "../../..//boost/regex/v4/basic_regex_parser.hpp", line 255: Where: While instantiating "boost::re_detail::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char>>>::parse_open_paren()". "../../..//boost/regex/v4/basic_regex_parser.hpp", line 255: Where: Instantiated from boost::re_detail::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char>>>::parse_extended(). "../../..//boost/regex/v4/basic_regex_parser.hpp", line 126: Where: Instantiated from boost::re_detail::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char>>>::parse(const char*, const char*, unsigned). "../../..//boost/regex/v4/basic_regex.hpp", line 106: Where: Instantiated from boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char>>>::do_assign(const char*, const char*, unsigned). "../../..//boost/regex/v4/basic_regex.hpp", line 273: Where: Instantiated from non-template code. "../../..//boost/regex/v4/basic_regex_parser.hpp", line 379: Error: Formal argument x of type const std::pair<unsigned, unsigned>& in call to std::vector<std::pair<unsigned, unsigned> >::push_back(const std::pair<unsigned, unsigned>&) is being passed int. "../../..//boost/regex/v4/basic_regex_parser.hpp", line 255: Where: While instantiating "boost::re_detail::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char>>>::parse_open_paren()". "../../..//boost/regex/v4/basic_regex_parser.hpp", line 255: Where: Instantiated from boost::re_detail::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char>>>::parse_extended(). "../../..//boost/regex/v4/basic_regex_parser.hpp", line 126: Where: Instantiated from boost::re_detail::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char>>>::parse(const char*, const char*, unsigned). "../../..//boost/regex/v4/basic_regex.hpp", line 106: Where: Instantiated from boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char>>>::do_assign(const char*, const char*, unsigned). "../../..//boost/regex/v4/basic_regex.hpp", line 273: Where: Instantiated from non-template code. "../../..//boost/regex/v4/basic_regex_parser.hpp", line 428: Error: Could not find a match for std::distance<std::ForwardIterator, std::Distance>(const char*, const char*) needed in boost::re_detail::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char>>>::parse_open_paren(). "../../..//boost/regex/v4/basic_regex_parser.hpp", line 255: Where: While instantiating "boost::re_detail::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char>>>::parse_open_paren()". "../../..//boost/regex/v4/basic_regex_parser.hpp", line 255: Where: Instantiated from boost::re_detail::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char>>>::parse_extended(). "../../..//boost/regex/v4/basic_regex_parser.hpp", line 126: Where: Instantiated from boost::re_detail::basic_regex_parser<char, boost::regex_traits<char, boost::cpp_regex_traits<char>>>::parse(const char*, const char*, unsigned). "../../..//boost/regex/v4/basic_regex.hpp", line 106: Where: Instantiated from boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char>>>::do_assign(const char*, const char*, unsigned). "../../..//boost/regex/v4/basic_regex.hpp", line 273: Where: Instantiated from non-template code. 3 Error(s) detected. *** Error code 3 dmake: Fatal error: Command failed for target `sunpro/libboost_regex/cregex.o' Any help appreciated. Regards, Paulo

AMDG Paulo Moura Guedes wrote:
I had successfully compiled regexp library with boost_1_34_1 but with version boost_1_38_0 I'm getting this error:
dmake -f sunpro.mak
CC -c -O2 -I../../../ -o sunpro/libboost_regex/cregex.o ../src/cregex.cpp
This command line needs to contain -library=stlport4 In Christ, Steven Watanabe

Hi Steven, On Wed, Feb 11, 2009 at 1:03 AM, Steven Watanabe <watanabesj@gmail.com> wrote:
AMDG
Paulo Moura Guedes wrote:
I had successfully compiled regexp library with boost_1_34_1 but with version boost_1_38_0 I'm getting this error:
dmake -f sunpro.mak
CC -c -O2 -I../../../ -o sunpro/libboost_regex/cregex.o ../src/cregex.cpp
This command line needs to contain
-library=stlport4
With dmake, how can I do that? Thanks, Paulo

I had successfully compiled regexp library with boost_1_34_1 but with version boost_1_38_0 I'm getting this error:
If you really must build without the -library=stlport4 option (for example to maintain binary compatibility) then this patch: https://svn.boost.org/trac/boost/changeset/51221/trunk will get things building again. Otherwise something like: dmake CXXFLAGS=-library-stlport4 -f sunpro.mak will build against STLPort. HTH, John.

I applied the patch and all went well. Thanks, Paulo On Thu, Feb 12, 2009 at 6:20 PM, John Maddock <pmouraguedes@gmail.com> wrote:
I had successfully compiled regexp library with boost_1_34_1 but with version boost_1_38_0 I'm getting this error:
If you really must build without the -library=stlport4 option (for example to maintain binary compatibility) then this patch: https://svn.boost.org/trac/boost/changeset/51221/trunk will get things building again.
Otherwise something like:
dmake CXXFLAGS=-library-stlport4 -f sunpro.mak
will build against STLPort.
HTH, John.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (3)
-
John Maddock
-
Paulo Moura Guedes
-
Steven Watanabe