
Hello! I tried to build the date_date libraries of Boost 1.31.0 with a gcc 2.95.2 compiler on a SuSE 7.0 Linux system. I discovered several problems: 1. Several header and source files try to include the sstream header file. This header is not available for gcc 2.95.2. I solved this problem by using #if defined(BOOST_NO_STRINGSTREAM) ... #else ... #endif constructions to include the correct header file and use the correct class. 2. In order to trigger the correct header file from error no. 1 the flag BOOST_NO_STRINGSTREAM must be set. This should be done by the config system (e.g. in boost/config/compiler/gcc.hpp). 3. I tried to include the date_time header files into a source file that also uses the Xerces library. This resulted in an error in file boost/date_time/gregorian_calendar.ipp, function gregorian_calendar_base<ymd_type_,date_int_type_>::day_number(const ymd_type& ymd) because of two + operators the compiler can use ( the buildin operator+(int, int) and second one from Xerces ). This error can be solved by doing a static cast to unsigned int for the three classes boost::gregorian::greg_year, greg_month and greg_day. The unsigned int operator is defined for all three classes. I have created two patch files for boost versions 1.31.0 and 1.32.0: http://home.arcor-online.de/markus.petermann/boost_1_31_0.patch http://home.arcor-online.de/markus.petermann/boost_1_32_0.patch Maybe these corrections can be considered for future releases. Best regards, Markus Petermann