Hmm, I don't have a Linux machine to compile on at the moment, but looking at the code those types seem correct and it should match that function call. It does compile correctly with Visual Studio on Windows.
Did you clean before compiling? You might try changing the code in PlayerCorpse.cpp at line 406 to something like this and see if it throws a more useful error about the conversion, but it should just work.
Code:
if(cursor) {
std::list<ItemInst*>::const_iterator s=client->GetInv().cursor_begin(), e=client->GetInv().cursor_end();
database.SaveCursor(client->CharacterID(),
s,
e);
}