ocamlmklib -o mlguestfs guestfs_c.o guestfs_c_actions.o guestfs.cmx -L../src/.libs -lguestfs mkdir -p html ocamldoc -d html -html guestfs.mli guestfs.ml /root/libguestfs-1.11.19/ocaml/guestfs.mli : Syntax error in text: {2 Object-oriented API} This is an alternate way of calling the API using an object-oriented style, so you can use [g#]{{!guestfs.add_drive_opts}add_drive_opts} [filename] instead of [Guestfs.add_drive_opts g filename]. Apart from the different style, it offers exactly the same functionality. Calling [new guestfs ()] creates both the object and the handle. The object and handle are closed either implicitly when the object is garbage collected, or explicitly by calling the [g#]{{!guestfs.close}close} [()] method. You can get the {!t} handle by calling [g#]{{!guestfs.ocaml_handle}ocaml_handle}. Note that methods that take no parameters (except the implicit handle) get an extra unit [()] parameter. This is so you can create a closure from the method easily. For example [g#]{{!guestfs.get_verbose}get_verbose} [()] calls the method, whereas [g#get_verbose] is a function. line 4, character 9: [g#]{{!guestfs.add_drive_opts}add_drive_opts} [filename] ^ Warning: Element Unix.error not found 1 error(s) encountered make[3]: [html/index.html] Error 1 (ignored)