Try the following.  See the "rationale" in the documentation for an explanation.
 
Robert Ramey
...
 
int main()
{
   const derived dc(5); // try adding "const" here

   {
      std::ofstream ofile("test.xml");
      boost::archive::xml_oarchive oa(ofile);
      oa << boost::serialization::make_nvp("test", dc);
   }

   return 0;