boost::serialization problem with gcc 4.3.0
Hi all, I am using boost::serialization (from version 1.34.1) within a larger project and have just switched to the recent gcc 4.3.0 release. Now, everything, including serialization code, works just fine on most of our machines (ix86 under openSuSE 10.2). However, on a x86_64 system (also openSuSE 10.2), the same code produces errors: /usr/local/include/boost-1_34_1/boost/serialization/vector.hpp:126: error: redefinition of 'struct boost::serialization::implementation_level<std::vector<long int, std::allocator<long int> > >' /usr/local/include/boost-1_34_1/boost/serialization/vector.hpp:126: error: previous definition of 'struct boost::serialization::implementation_level<std::vector<long int, std::allocator<long int> > >' /usr/local/include/boost-1_34_1/boost/serialization/vector.hpp:126: error: redefinition of 'struct boost::serialization::implementation_level<std::vector<long unsigned int, std::allocator<long unsigned int> > >' /usr/local/include/boost-1_34_1/boost/serialization/vector.hpp:126: error: previous definition of 'struct boost::serialization::implementation_level<std::vector<long unsigned int, std::allocator<long unsigned int> > >' The error messages are NOT produced with boost version 1.33.1. The error occur even if I include the vector.hpp file into a piece of code which does not actually use serialization functionality. Any ideas what to do? Thanks for any help. Best regards Bernd ======================================================================= Bernd Speiser Institut für Organische Chemie Auf der Morgenstelle 18 temporary address: Auf der Morgenstelle 15 D-72076 Tübingen Germany phone: +49-7071-2976205 (office) +49-7071-2976242 (laboratory) +49-7071-2972098 (secretary) fax: +49-7071-295518 e-mail: bernd.speiser@uni-tuebingen.de Internet: http://www.uni-tuebingen.de/speiser =======================================================================
Bernd Speiser wrote:
Hi all,
I am using boost::serialization (from version 1.34.1) within a larger project and have just switched to the recent gcc 4.3.0 release. Now, everything, including serialization code, works just fine on most of our machines (ix86 under openSuSE 10.2). However, on a x86_64 system (also openSuSE 10.2), the same code produces errors:
/usr/local/include/boost-1_34_1/boost/serialization/vector.hpp:126: error: redefinition of 'struct boost::serialization::implementation_level<std::vector<long int, std::allocator<long int> > >'
as a follow-up to my earlier mail: I have downloaded boost 1.35.0 RC2 for testing - and when compiling with gcc 4.3.0 on the same x86_64 system, I get more errors: MkDir1 bin.v2/libs/serialization/build/gcc-4.3.0/debug/threading-multi gcc.compile.c++ bin.v2/libs/serialization/build/gcc-4.3.0/debug/threading-multi/polymorphic_iarchive.o In file included from libs/serialization/src/polymorphic_iarchive.cpp:18: ./boost/archive/polymorphic_iarchive.hpp:88: error: ‘virtual void boost::archive::polymorphic_iarchive_impl::load(int64_t&)’ cannot be overloaded ./boost/archive/polymorphic_iarchive.hpp:84: error: with ‘virtual void boost::archive::polymorphic_iarchive_impl::load(long int&)’ ./boost/archive/polymorphic_iarchive.hpp:89: error: ‘virtual void boost::archive::polymorphic_iarchive_impl::load(uint64_t&)’ cannot be overloaded ./boost/archive/polymorphic_iarchive.hpp:85: error: with ‘virtual void boost::archive::polymorphic_iarchive_impl::load(long unsigned int&)’ "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -fPIC -pthread -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -I"." -c -o "bin.v2/libs/serialization/build/gcc-4.3.0/debug/threading-multi/polymorphic_iarchive.o" "libs/serialization/src/polymorphic_iarchive.cpp" ...failed gcc.compile.c++ bin.v2/libs/serialization/build/gcc-4.3.0/debug/threading-multi/polymorphic_iarchive.o... gcc.compile.c++ bin.v2/libs/serialization/build/gcc-4.3.0/debug/threading-multi/polymorphic_oarchive.o In file included from libs/serialization/src/polymorphic_oarchive.cpp:18: ./boost/archive/polymorphic_oarchive.hpp:86: error: ‘virtual void boost::archive::polymorphic_oarchive_impl::save(int64_t)’ cannot be overloaded ./boost/archive/polymorphic_oarchive.hpp:83: error: with ‘virtual void boost::archive::polymorphic_oarchive_impl::save(long int)’ ./boost/archive/polymorphic_oarchive.hpp:87: error: ‘virtual void boost::archive::polymorphic_oarchive_impl::save(uint64_t)’ cannot be overloaded ./boost/archive/polymorphic_oarchive.hpp:84: error: with ‘virtual void boost::archive::polymorphic_oarchive_impl::save(long unsigned int)’ "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -fPIC -pthread -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -I"." -c -o "bin.v2/libs/serialization/build/gcc-4.3.0/debug/threading-multi/polymorphic_oarchive.o" "libs/serialization/src/polymorphic_oarchive.cpp" ...failed gcc.compile.c++ bin.v2/libs/serialization/build/gcc-4.3.0/debug/threading-multi/polymorphic_oarchive.o... gcc.compile.c++ bin.v2/libs/serialization/build/gcc-4.3.0/debug/threading-multi/stl_port.o gcc.compile.c++ bin.v2/libs/serialization/build/gcc-4.3.0/debug/threading-multi/text_iarchive.o gcc.compile.c++ bin.v2/libs/serialization/build/gcc-4.3.0/debug/threading-multi/text_oarchive.o gcc.compile.c++ bin.v2/libs/serialization/build/gcc-4.3.0/debug/threading-multi/void_cast.o Could there be some basic problem with compilation on 64 bit systems? Regards Bernd -- ======================================================================= Bernd Speiser Institut für Organische Chemie Auf der Morgenstelle 18 temporary address: Auf der Morgenstelle 15 D-72076 Tübingen Germany phone: +49-7071-2976205 (office) +49-7071-2976242 (laboratory) +49-7071-2972098 (secretary) fax: +49-7071-295518 e-mail: bernd.speiser@uni-tuebingen.de Internet: http://www.uni-tuebingen.de/speiser =======================================================================
participants (1)
-
bernd.speiser@t-online.de