Boost logo

Boost Users :

From: Edward Diener (eddielee_at_[hidden])
Date: 2005-07-22 15:25:08


When building Boost for C++ Builder 6 and Boost 1.32, the serialization libray
fails to build. The reason for this is that it attempts to use the latest Spirit
header files and this does not support C++ Builder 6.

What makes this doubly annoying is that the only reason that serialization needs
to use Spirit is to support XML serialization. So even if I will never be using
serialization for XML serialization, but will use it for the more mainstream
binary serialization, I can not use this library with C++ Builder 6.

Clearly this is a case for a built library to be split up into sub-libraries, so
that there would be a built serialization library supporting binary
serialization, which would not be dependent on Spirit, and a built serialization
library supporting XML serialization, which would be dependent on Spirit. In
this case I would be able to build the library that did not depend on Spirit for
C++ Builder and I would not care, if I never used XML serialization, whether or
not the library that was built to support XML serialization could be built for
C++ Builder 6.

In the serialization documentation it says that one can build serialization so
that it can be used with C++ Builder 6 by downloading the standalone version of
Spirit 1.6, installing that, and setting the SPIRIT_ROOT environment variable to
the directory where Spirit 1.6 is installed. Despite having done this, any
attempt to build serialization for C++ Builder 6 ends with error messages
showing that header files for Spirit in the main Boost directory, rather in the
Spirit 1.6 directory, are being used in the process to build the serialization
library. The error message comes from spirit/core/config.hpp in my Boost 1.32
directory tree that C++ Builder 6 is not supported. In the Spirit 1.6
distribution there is no spirit/core/config.h.

While I understand that a particular library may not want to support a
particular compiler/version because that compiler is deficient in the C++
standard requirments to support that library, I feel that if a library is marked
as supporting a compiler/version it should do so. In the case of serialization
in Boost 1.32 it is marked as supporting C++ Builder 6 when clearly it does not
according to my efforts.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net