let virtual_solver virtual_command =
let solver =
try
Hashtbl.find virtual_solvers virtual_command
with Not_found ->
failwith (sbprintf "no solver for the virtual command %S (setup one with Command.setup_virtual_command_solver)"
virtual_command)
in
try solver ()
with Not_found ->
failwith (Printf.sprintf "the solver for the virtual command %S has failed finding a valid command" virtual_command)