Boost logo

Boost :

From: Matthias Troyer (troyer_at_[hidden])
Date: 2003-05-24 07:10:30


Hi John,

Looking for other compilers that might allow me to compile my codes
with the current CVS snapshot I found a few more problems, besides the
one mentioned below which still exists:

On Linux using icc version 7.1 I get the error message:

/home/troyer/boost/libs/regex/src/c_regex_traits.cpp: In function `void
{unnamed}::re_update_collate
()':
/home/troyer/boost/libs/regex/src/c_regex_traits.cpp:315: parse error
before `__ctype_b'
/home/troyer/boost/libs/regex/src/c_regex_traits.cpp:317: parse error
before `__ctype_b'
/home/troyer/boost/libs/regex/src/c_regex_traits.cpp:319: parse error
before `__ctype_b'
/home/troyer/boost/libs/regex/src/c_regex_traits.cpp:321: parse error
before `__ctype_b'
/home/troyer/boost/libs/regex/src/c_regex_traits.cpp:327: confused by
earlier errors, bailing out

On MacOS X, using both g++ version 3.1 and the current CVS state of
Apple's gcc 3.3 I get the following linker problem:

ld: Undefined symbols:
boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char
const*, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >,
std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char
const*, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > >, boost::regex_traits<char>,
std::allocator<char> >::s_find_vtable
boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char
const*, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >,
std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char
const*, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > >, boost::regex_traits<char>,
std::allocator<char> >::s_unwind_table

On MacOS X using g++ version 3.3 in addition to the linker problem I
had to make all the functions you refer to in the intiialization of
these tables public in order for the code to compile.

On Friday, May 23, 2003, at 01:16 PM, John Maddock wrote:

>> After a cvs update I am having probles compiling cregex.cpp on an
>> Intel
>> Linux platform with the KC compiler. The problem seems to be an
>> ambiguity in a call to destroy(..). While this is probably a bug in
>> the
>> KCC compiler, I would appreciate a workaround (e.g. changing the name
>> of the destroy() function in regex) that would make this library
>> compile with KCC?
>
> The regex code has changed a lot in the last week - I'm still working
> through all the consequences - there should be fixes that particular
> problem
> already in place
>
> John.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk