Links everything into a single executable and invokes 'main'.
*)
-Virt_mem.main ()
+(* Because internal commands like 'virt-mem capture' are stored
+ * in a library [*.cma/*.cmxa], they don't automatically get
+ * loaded/registered unless someone seems to be using them. So
+ * we need to pretend to be using them here. External commands
+ * like 'virt-ps' are OK because they are linked as *.cmo/*.cmx
+ * files.
+ *)
+let _ = Virt_mem_capture.summary
+let _ = Virt_mem_dump.summary
+
+(* Call main program. *)
+let () = Virt_mem.main ()