Lars Gullik BjÃnnes <[EMAIL PROTECTED]> writes: > > Jean-Marc Lasgouttes <[EMAIL PROTECTED]> writes: > > | Lars, we need some help from you I guess. The error says: > > g++ on darwin is botched? > > Turn off concept checking for darwin? > > | So the problem is with the new concept check support. > > or darwin...
I made more inquiries. The offending code in gcc/.../boost_concept_check.h is: (I guess some C++ afficionados know what this is about, I don't) __________ template <class _Tp> struct _InputIteratorConcept { void __constraints() { __function_requires< _TrivialIteratorConcept<_Tp> >(); // require iterator_traits typedef's typedef typename std::iterator_traits<_Tp>::difference_type _D; //<<<<<< // __function_requires< _SignedIntegerConcept<_D> >(); typedef typename std::iterator_traits<_Tp>::reference _R; //<<<<<< typedef typename std::iterator_traits<_Tp>::pointer _Pt; typedef typename std::iterator_traits<_Tp>::iterator_category _Cat; __function_requires< _ConvertibleConcept< typename std::iterator_traits<_Tp>::iterator_category, std::input_iterator_tag> >(); ++__i; // require preincrement operator __i++; // require postincrement operator } _Tp __i; }; __________ After preprocessing (gcc -E) this looks like this: __________ struct _InputIteratorConcept { void __constraints() { __function_requires< _TrivialIteratorConcept<_Tp> >(); typedef typename std::iterator_traits<_Tp>::difference_type 0x00000400L; //<<< typedef typename std::iterator_traits<_Tp>::reference 0x00040000L; //<<< typedef typename std::iterator_traits<_Tp>::pointer _Pt; typedef typename std::iterator_traits<_Tp>::iterator_category _Cat; __function_requires< _ConvertibleConcept< typename std::iterator_traits<_Tp>::iterator_category, std::input_iterator_tag> >(); ++__i; __i++; } _Tp __i; }; __________ So the errormessage seems justified and we only have to find out which red-dripping includefile defined _D and _R ... (Did I mention recently that I prefer Java over C++ ?) Cheers /Andreas