walk_local_tree, walk_remote_tree, and support for compiling with c++