Bug 1614463 - v2v_test_harness.ml", line 178, characters 14-26: Unbound value D.create_xml
Summary: v2v_test_harness.ml", line 178, characters 14-26: Unbound value D.create_xml
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Virtualization Tools
Classification: Community
Component: libguestfs
Version: unspecified
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Richard W.M. Jones
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-08-09 16:17 UTC by jean-christophe manciot
Modified: 2018-08-10 12:38 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2018-08-10 12:38:14 UTC
Embargoed:


Attachments (Terms of Use)
Full compilation log (249.51 KB, text/x-vhdl)
2018-08-09 16:17 UTC, jean-christophe manciot
no flags Details

Description jean-christophe manciot 2018-08-09 16:17:38 UTC
Created attachment 1474761 [details]
Full compilation log

Description of problem:
----------------------
Build fails.

Version-Release number of selected component (if applicable):
------------------------------------------------------------
v1.39.8

Steps to Reproduce:
------------------
1. checkout v1.39.8
2. ./autogen.sh --build=x86_64-pc-linux-gnu \
                --enable-introspection=yes \
                --enable-install-daemon \
                --prefix=/usr --sysconfdir=/etc --localstatedir=/var
3. make

Actual results:
--------------
...
Daemon .............................. yes
Appliance ........................... yes
QEMU ................................ /usr/bin/kvm
guestfish and C-based virt tools .... yes
FUSE filesystem ..................... yes
Default backend ..................... direct
GNU gettext for i18n ................ yes
virt-p2v ............................ yes
OCaml bindings ...................... yes
OCaml-based virt tools .............. yes
Perl bindings ....................... yes
Perl-based virt tools ............... yes
Python bindings ..................... yes
Ruby bindings ....................... yes
Java bindings ....................... yes
Haskell bindings .................... yes
PHP bindings ........................ yes
Erlang bindings ..................... yes
Lua bindings ........................ yes
Go bindings ......................... yes
gobject bindings .................... yes
gobject introspection ............... yes
bash completion ..................... yes
...
Making all in v2v/test-harness
make[2]: Entering directory '/media/actionmystique/SAMSUNG5-Shared/home/actionmystique/src/Libguestfs/git-libguestfs/v2v/test-harness'
../../ocaml-dep.sh -I .. v2v_test_harness.mli v2v_test_harness.ml
  CC       libv2vth_a-dummy.o
  AR       libv2vth.a
  POD      stamp-virt-v2v-test-harness.pod
touch stamp-virt-v2v-test-harness.pod
  OCAMLCMI v2v_test_harness.cmi
  OCAMLOPT v2v_test_harness.cmx
File "v2v_test_harness.ml", line 178, characters 14-26:
Error: Unbound value D.create_xml
make[2]: *** [Makefile:2183: v2v_test_harness.cmx] Error 2

Expected results:
----------------
Correct build

Additional info:
---------------
Ubuntu 18.10
ocaml-nox 4.05.0-10ubuntu2
Full compilation log is attached.

Comment 1 Richard W.M. Jones 2018-08-09 16:32:45 UTC
You need ocaml-libvirt with a bunch of backports after 0.6.1.4, see:

https://src.fedoraproject.org/rpms/ocaml-libvirt/tree/f28
http://git.annexia.org/?p=ocaml-libvirt.git;a=summary

However an easier solution for you will probably be to
uninstall [whatever is the Ubuntu package for ocaml-libvirt]
and rerun ./configure && make.

Comment 2 jean-christophe manciot 2018-08-09 18:30:37 UTC
I've tried to build without ocaml: it gave the issue described at https://bugzilla.redhat.com/show_bug.cgi?id=1614502.

Comment 3 jean-christophe manciot 2018-08-09 18:38:26 UTC
Regarding your comment about ocaml-libvirt latest patches, I used the latest debian sid:
libvirt-ocaml:
  Installed: 0.6.1.4-2+b1

Considering the fact that the latest patch is 9 month old, I thought that the sid sources of ocaml-libvirt (the source package name strangely differs from the binary package name) included it; I may be wrong, so I will try to build the binary package from git://git.annexia.org/ocaml-libvirt.git later on and let you know if that changes the outcome.

Comment 4 Richard W.M. Jones 2018-08-09 18:49:07 UTC
(In reply to jean-christophe manciot from comment #2)
> I've tried to build without ocaml: it gave the issue described at
> https://bugzilla.redhat.com/show_bug.cgi?id=1614502.

That's a coincidental race condition in the Makefile.

I didn't say remove OCaml (which is in fact required for libguestfs >= 1.38).
You should remove only the ocaml libvirt bindings package,
rerun configure, and everything will be fine.  Or remove
v2v/test-harness from the SUBDIRS list.

Comment 5 jean-christophe manciot 2018-08-10 11:38:59 UTC
I also tried to configure **without** "--disable-ocaml" and built libguestfs after uninstalling libvirt-ocaml/libvirt-ocaml-dev and it finally succeeded with:

Daemon .............................. yes
Appliance ........................... yes
QEMU ................................ /usr/bin/kvm
guestfish and C-based virt tools .... yes
FUSE filesystem ..................... yes
Default backend ..................... direct
GNU gettext for i18n ................ yes
virt-p2v ............................ yes
OCaml bindings ...................... yes
OCaml-based virt tools .............. yes
Perl bindings ....................... yes
Perl-based virt tools ............... yes
Python bindings ..................... yes
Ruby bindings ....................... yes
Java bindings ....................... yes
Haskell bindings .................... yes
PHP bindings ........................ yes
Erlang bindings ..................... yes
Lua bindings ........................ yes
Go bindings ......................... yes
gobject bindings .................... yes
gobject introspection ............... yes
bash completion ..................... yes

The "OCaml-based virt tools .............. yes" is strange though considering:
checking for OCaml findlib package libvirt... not found

Comment 6 Richard W.M. Jones 2018-08-10 12:38:14 UTC
ocaml-libvirt is only needed for the virt-v2v test harness (which
is unlikely to be useful to most people anyway).  The other OCaml-based
virt tools only require what's documented here:

http://libguestfs.org/guestfs-building.1.html#full-list-of-requirements


Note You need to log in before you can comment on or make changes to this bug.