Closed GoogleCodeExporter closed 9 years ago
Leif?
Original comment by ikarpov
on 5 Dec 2011 at 4:43
Possible solution: implementation of unobtrusive serialization functions for
unordered_map.
It requires further compatibility testing.
Original comment by red75p...@gmail.com
on 5 Dec 2011 at 7:32
Attachments:
The solution above doesn't fix a bug.
Original comment by red75p...@gmail.com
on 5 Dec 2011 at 3:49
related patch for boost 1.47:
https://svn.boost.org/trac/boost/ticket/5265
could we just save the number of entries in the map and then load each entry
individually?
Original comment by ikarpov
on 6 Dec 2011 at 10:44
This looks relevant:
http://code.google.com/p/ntest/source/browse/unordered_map_serialization.h
Original comment by ikarpov
on 6 Dec 2011 at 10:50
the latest link does indeed seem to fix the problem - I am about to commit a
fix.
Original comment by ikarpov
on 6 Dec 2011 at 10:59
r1537 should fix this problem. To test, save an RL team and observe the
distribution of table sizes in the logs. It should be the same when you load.
Original comment by ikarpov
on 6 Dec 2011 at 11:01
Although I am new at OpenNero, I believe this last fix may have caused other
issues.
Here comes my build log on a standard Ubuntu Oneiric 11.10.
[ 74%] Building CXX object source/CMakeFiles/OpenNERO.dir/ai/rl/TD.cpp.o
In file included from opennero/trunk/source/ai/rl/TD.cpp:12:0:
opennero/trunk/source/ai/rl/Approximator.h: In function ‘void
boost::serialization::load(Archive&, boost::unordered_multimap<Key, Type, Hash,
Compare, Allocator>&, unsigned int)’:
opennero/trunk/source/ai/rl/Approximator.h:104:17: error:
‘archive_input_multimap’ is not a member of ‘boost::serialization::stl’
opennero/trunk/source/ai/rl/Approximator.h:104:17: error:
‘archive_input_multimap’ is not a member of ‘boost::serialization::stl’
opennero/trunk/source/ai/rl/Approximator.h:101:40: error: parse error in
template argument list
opennero/trunk/source/ai/rl/Approximator.h:110:17: error: expected
primary-expression before ‘>’ token
make[2]: *** [source/CMakeFiles/OpenNERO.dir/ai/rl/TD.cpp.o] Error 1
make[1]: *** [source/CMakeFiles/OpenNERO.dir/all] Error 2
make: *** [all] Error 2
Original comment by sergiol...@gmail.com
on 7 Dec 2011 at 12:41
Hmm weird - I had already made the binaries on Lucid. What version of boost is
installed on oneiric?
Original comment by ikarpov
on 7 Dec 2011 at 1:25
It looks like the problem is only in the serialization for multimap, which we
are not using. So, removing it should allow you to build. See r1538.
Original comment by ikarpov
on 7 Dec 2011 at 1:48
Original issue reported on code.google.com by
red75p...@gmail.com
on 5 Dec 2011 at 2:25