Use boost::filesystem instead of raw system calls