Victor A. Wagner Jr. wrote:
At Friday 2005-02-18 04:13, you wrote:
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:
problem 1: you're using an ancient compiler. problem 2: you're using an out of date version of boost.
He also supplied a patch for Boost 1.32.0.
I recommend to boost that we not accept patches for the compiler. IMO we cannot afford the effort.
I think that should be up to the maintainers of the individual libraries. Markus Petermann wrote:
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).
That's the wrong place to do it, it should be done in the library configuration file, not the compiler configuration file. GCC 2.95 appears to use the SGI standard library by default, and if you look in boost/config/stdlib/sgi.hpp, you'll find this: // // No std::stringstream with gcc < 3 // #if defined(__GNUC__) && (__GNUC__ < 3) && \ ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \ !defined(__STL_USE_NEW_IOSTREAMS) || \ defined(__APPLE_CC__) // Note that we only set this for GNU C++ prior to 2.95 since the // latest patches for that release do contain a minimal <sstream> // If you are running a 2.95 release prior to 2.95.3 then this will need // setting, but there is no way to detect that automatically (other // than by running the configure script). // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't // have <sstream>. # define BOOST_NO_STRINGSTREAM #endif I think the comment says it all. Daniel