Boost logo

Boost Users :

Subject: Re: [Boost-users] "invalid signature" in boost::archive::binary_iarchive
From: Ibrahim Beicker (ibrabeicker_at_[hidden])
Date: 2012-05-27 21:17:09


they are all running in the same 64 bits architecture. I've also tried the
text archive but got the same error

2012/5/25 Robert Ramey <ramey_at_[hidden]>

> Ibrahim Beicker wrote:
> > I had to port a multi-process application to 64 bits and I rely on
> > boost serialization to send messages, that are maps of key-values,
> > into Microsoft queues to the other modules. It works just fine into
> > 32 bits but when I run it in 64 the constructor throws an "invalid
> > signature" exception
> >
> > void Message::fromBinary( const std::string& data )
> > {
> > std::stringstream ss;
> > ss << data;
> > boost::archive::binary_iarchive ia(ss); //exception here
> >
> > ia >> *this;
> > }
> >
> > I managed to debug into basic_binary_iarchive.ipp and this 'if' @
> > line 72 fails
> >
> > if(file_signature != BOOST_ARCHIVE_SIGNATURE())
> >
> >
> boost::serialization::throw_exception(archive_exception(archive_exception::invalid_signature));
> >
> > inside this file I have no debug symbols so I don't know the values
> > of 'file_signature' and 'BOOST_ARCHIVE_SIGNATURE' or where
> > BOOST_ARCHIVE_SIGNATURE is defined.
> >
> > Some additional information: the modules are all running on the same
> > machine, on windows 7 64-bits, and compiled by visual studio 2010
> > x64 including static boost libraries 1.45.
> >
> > What causes this and how can I fix it?
> >
>
> binary archives are not portable across architectures. Specifically
> it is not possble to create a binary archive with 32 bit code and
> and read that archive with 64 bit code. You'll have to write
> your achive to some portable format such as a text archive.
> Then you can load it on any platform.
>
> Robert Ramey
>
>
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>



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