Subject: [Boost-bugs] [Boost C++ Libraries] #3291: Compilation problem with serialization with g++ and stlport under FreeBSD
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-07-27 10:46:40
#3291: Compilation problem with serialization with g++ and stlport under FreeBSD
-----------------------------+----------------------------------------------
Reporter: olegabr@⦠| Owner: ramey
Type: Bugs | Status: new
Milestone: Boost 1.40.0 | Component: serialization
Version: Boost 1.34.1 | Severity: Problem
Keywords: |
-----------------------------+----------------------------------------------
Compilation problem with serialization with g++ and stlport under FreeBSD.
{{{
#include <boost/archive/binary_iarchive.hpp>
#include <boost/archive/binary_oarchive.hpp>
// my code using boost::serialization
//-------------------------------------------
/* link with libboost_serialization */
// hack to temporarily solve the problem with boost::serialization
implementation vs g++ and stlport
namespace stlp_std
{
using ::mbstate_t;
}
#include <boost/../libs/serialization/src/binary_iarchive.cpp>
#include <boost/../libs/serialization/src/binary_oarchive.cpp>
}}}
I'm intensionally don't link to pre-built boost libraries. I've used the
"include *.cpp" technique. Compillation error with g++/stlport states:
{{{
In file included from
/usr/local/include/boost/archive/impl/basic_binary_iprimitive.ipp:29,
from ./CSSD/serialization/binary_iarchive.cpp:16,
from CSSD/CSSD_Config.cpp:222:
/usr/local/include/boost/archive/codecvt_null.hpp: At global scope:
/usr/local/include/boost/archive/codecvt_null.hpp:45: error: 'mbstate_t'
is not a member of 'stlp_std'
/usr/local/include/boost/archive/codecvt_null.hpp:45: error: 'mbstate_t'
is not a member of 'stlp_std'
/usr/local/include/boost/archive/codecvt_null.hpp:45: error: template
argument 3 is invalid
/usr/local/include/boost/archive/codecvt_null.hpp: In constructor
'boost::archive::codecvt_null<char>::codecvt_null(size_t)':
/usr/local/include/boost/archive/codecvt_null.hpp:52: error: 'mbstate_t'
is not a member of 'stlp_std'
/usr/local/include/boost/archive/codecvt_null.hpp:52: error: 'mbstate_t'
is not a member of 'stlp_std'
/usr/local/include/boost/archive/codecvt_null.hpp:52: error: template
argument 3 is invalid
/usr/local/include/boost/archive/codecvt_null.hpp: At global scope:
/usr/local/include/boost/archive/codecvt_null.hpp:57: error: 'mbstate_t'
is not a member of 'stlp_std'
/usr/local/include/boost/archive/codecvt_null.hpp:57: error: 'mbstate_t'
is not a member of 'stlp_std'
/usr/local/include/boost/archive/codecvt_null.hpp:57: error: template
argument 3 is invalid
/usr/local/include/boost/archive/codecvt_null.hpp:61: error:
'stlp_std::mbstate_t' has not been declared
/usr/local/include/boost/archive/codecvt_null.hpp:71: error:
'stlp_std::mbstate_t' has not been declared
}}}
I've tried to use "#if defined" code from svn trunk
(https://svn.boost.org/trac/boost/browser/trunk/boost/archive/codecvt_null.hpp),
but it doesn't work.
Conclusion: it is most likely that the same problem exists in trunk
version too.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/3291> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:00 UTC