I applied the first 4 patches to my local repo. 'make clean' now fails at: error: failed to load manifest for dependency `libnbd-sys` Caused by: failed to parse manifest at `/home/rjones/d/libnbd/rust/libnbd-sys/Cargo.toml` Caused by: no targets specified in the manifest either src/lib.rs, src/main.rs, a [lib] section, or [[bin]] section must be present make[1]: *** [Makefile:1057: clean-local] Error 101 make[1]: Leaving directory '/home/rjones/d/libnbd/rust'
I'm not sure what that means. rust/libnbd-sys/Cargo.toml exists. ./configure works which is good: checking for cargo... cargo checking for rustfmt... rustfmt checking if cargo is usable... yes ... Rust ................................... yes However the generator fails to compile with: make[3]: Entering directory '/home/rjones/d/libnbd/generator' ocamlc.opt -g -annot -safe-string -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X+52-3 -I . -I . \ -I +str str.cma -I +unix unix.cma utils.mli utils.ml state_machine.mli state_machine.ml API.mli API.ml state_machine_generator.mli state_machine_generator.ml C.mli C.ml Python.mli Python.ml OCaml.mli OCaml.ml GoLang.mli GoLang.ml RustSys.mli RustSys.ml Rust.mli Rust.ml generator.ml -o generator File "generator.ml", line 65, characters 2-11: 65 | output_to ~formatter:(Some Rustfmt) "rust/libnbd-sys/src/lib.rs" RustSys.generate_rust_sys_bindings; ^^^^^^^^^ Error: This function has type string -> (unit -> 'weak1) -> unit It is applied to too many arguments; maybe you forgot a `;'. This confused me for a while, but I think it's because this series depends on another series or needs to be rebased? I removed the ~formatter parameter to get it to compile. The next problem is: /home/rjones/d/libnbd/run cargo build Compiling libnbd v0.1.0 (/home/rjones/d/libnbd/rust) error: expected one of `:`, `;`, or `=`, found `-` --> src/bindings.rs:116:29 | 116 | pub const CONTEXT_QEMU_DIRTY-BITMAP:: &[u8] = b"qemu:dirty-bitmap:"; | ^ expected one of `:`, `;`, or `=` error[E0599]: no method named `set_debug_callback` found for struct `Handle` in the current scope --> src/handle.rs:38:21 | 23 | pub struct Handle { | ----------------- method `set_debug_callback` not found for this struct ... 38 | nbd.set_debug_callback(|func_name, msg| { | ----^^^^^^^^^^^^^^^^^^ method not found in `Handle` [and some more] It might be an idea to run this command to check that the series is bisectable: git rebase -i HEAD~12 -x 'make clean && make && make check' It will generate a series of rebase commands which look like: pick 7475e8560a rust: create basic Rust bindings exec make clean && make && make check pick c48c7eee0f rust: Add a couple of integration tests exec make clean && make && make check pick 16debe7848 rust: Make it possible to run tests with Valgrind exec make clean && make && make check [etc] which will do a full build cycle after every patch to make sure they all work incrementally. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs