Software requirements for a successfull O.save/O.load

Asked by Jérôme Duriez

Hi,

I know we need to use the same YADE version compiled or built with the same features for being able to O.save() / O.load() (with no error, and leaving here "not defined" Python considerations outside of the question) [*] .

Should we expect further requirements, e.g. in terms of having the same external package versions between the respective times (or used machines) of O.save and O.load ?

If yes, would it be possible to pinpoint at specific packages that should remain identical ? (libboost-all-dev ? something else ?)

Edit: I'm currently facing a "RuntimeError: unregistered class" at O.load, with boost 1.71.0. No idea what boost was at O.save

Thanks

[*] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.Omega.load and https://answers.launchpad.net/yade/+question/695333 -- I'm planning a merge request to include the latter in the former, by the way

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Jan Stránský
Solved:
Last query:
Last reply:
Revision history for this message
Best Jan Stránský (honzik) said :
#1

Hi,
since the save/load is done using the boost library [1,2], I think the same version of boost might be essential.
Cheers
Jan

[1] https://gitlab.com/yade-dev/trunk/-/blob/master/core/Omega.cpp#L291
[2] https://gitlab.com/yade-dev/trunk/-/blob/master/lib/serialization/ObjectIO.hpp#L25

Revision history for this message
Jérôme Duriez (jduriez) said :
#2

Thanks for feedback Jan. I could not track my "RuntimeError: unregistered class" load error in YADE source code so I'm still a bit unsure of the exact source, but that confirms my boost feelings.

Note https://gitlab.com/yade-dev/trunk/-/merge_requests/709 by the way.

Revision history for this message
Jérôme Duriez (jduriez) said :
#3

Thanks Jan Stránský, that solved my question.