Package Details: virt-v2v 2.4.0-1

Git Clone URL: https://aur.archlinux.org/virt-v2v.git (read-only, click to copy)
Package Base: virt-v2v
Description: Convert a guest image to use with KVM
Upstream URL: https://libguestfs.org/virt-v2v.1.html
Keywords: kvm libvirt qemu
Licenses: GPL
Submitter: solsticedhiver
Maintainer: solsticedhiver
Last Packager: solsticedhiver
Votes: 2
Popularity: 0.85
First Submitted: 2022-01-26 22:25 (UTC)
Last Updated: 2024-01-21 01:55 (UTC)

Dependencies (9)

Required by (0)

Sources (2)

Pinned Comments

solsticedhiver commented on 2023-11-15 21:57 (UTC)

With the newer libnbd package from [extra] version 1.18.1-2 or above, everything should work smoothly and as expected ...

Latest Comments

1 2 3 Next › Last »

rwmjones commented on 2024-04-04 16:12 (UTC)

mlguestfs.cmxa needs to be recompiled. In Fedora we encode the hashes that the compiler looks for into dependencies to avoid this class of problems, for example look at the ocaml() dependencies here: https://koji.fedoraproject.org/koji/rpminfo?rpmID=38131851

parovoz commented on 2024-04-04 15:37 (UTC)

Error: Files /usr/lib/ocaml/guestfs/mlguestfs.cmxa
and /usr/lib/ocaml/stdlib.cmxa
make inconsistent assumptions over interface Stdlib__Gc

solsticedhiver commented on 2023-11-15 21:57 (UTC)

With the newer libnbd package from [extra] version 1.18.1-2 or above, everything should work smoothly and as expected ...

dreieck commented on 2023-10-14 16:06 (UTC) (edited on 2023-10-14 17:29 (UTC) by dreieck)

But for me, building with it fails with a lot of linking errors.

You need to be sure to remove src and kg directory before rebuilding virt-v2v

No, it was that libguestfs [1] and libnbd [2] were compiled by me with LTO by default. I had to add options+=('!lto') to their PKGBUILD to make linking to the OCaml libraries work.

Regards!


[1] Needed my own local compilation since I am on Artix which intentionally does not use systemd. Compiling libguestfs-git on that system results in a build without systemd dependency.
[2] libnbd-ocaml-git.

solsticedhiver commented on 2023-10-14 15:05 (UTC)

@dreieck You need to be sure to remove src and kg directory before rebuilding virt-v2v. And possible cache like ccache. And also other possible old libnbd binding lying around.

I just noticed that libnbd has moved from AUR to [extra] So I opened a bug https://bugs.archlinux.org/task/79958 Not sure something will come out of this.

I am not sure I want to depend on your ocaml-nbd. Not for now. May be later.

dreieck commented on 2023-10-14 14:51 (UTC) (edited on 2023-10-14 14:53 (UTC) by dreieck)

I have now created a package libnbd-ocaml-git that provides ocaml-nbd, and actually while building depends on ocaml so OCaml-bindings are guaranteed and no user needs to locally edit PKGBUILDs for each upstream/ AUR update to keep dependencies correct.

But for me, building with it fails with a lot of linking errors.

Excerpt, full error output ↗ here:

[...]
Making all in v2v
make[2]: Entering directory '/tmp/makepkg/build/virt-v2v/src/virt-v2v-2.2.0/v2v'
  CC       virt_v2v-dummy.o
  OCAMLCMI v2v.cmi
  OCAMLOPT v2v.cmx
  GEN      virt-v2v
/usr/bin/ld: ../output/mloutput.a(output.o): in function `camlOutput__output_to_local_file_inner_3114':
/tmp/makepkg/build/virt-v2v/src/virt-v2v-2.2.0/output/output.ml:96:(.text+0x3a7): undefined reference to `nbd_internal_ocaml_nbd_create'
/usr/bin/ld: /tmp/makepkg/build/virt-v2v/src/virt-v2v-2.2.0/output/output.ml:96:(.text+0x3b6): undefined reference to `nbd_internal_ocaml_nbd_get_version'
/usr/bin/ld: ../lib/mlv2vlib.a(utils.o): in function `camlUtils__with_nbd_connect_unix_inner_3729':
/tmp/makepkg/build/virt-v2v/src/virt-v2v-2.2.0/lib/utils.ml:219:(.text+0xc7e): undefined reference to `nbd_internal_ocaml_nbd_create'
/usr/bin/ld: ../lib/mlv2vlib.a(utils.o): in function `camlUtils__fun_3735':
/tmp/makepkg/build/virt-v2v/src/virt-v2v-2.2.0/lib/utils.ml:222:(.text+0xd76): undefined reference to `nbd_internal_ocaml_nbd_set_debug'
/usr/bin/ld: /tmp/makepkg/build/virt-v2v/src/virt-v2v-2.2.0/lib/utils.ml:224:(.text+0xde6): undefined reference to `nbd_internal_ocaml_nbd_connect_unix'
/usr/bin/ld: ../lib/mlv2vlib.a(utils.o): in function `camlUtils__fun_3763':
/tmp/makepkg/build/virt-v2v/src/virt-v2v-2.2.0/lib/utils.ml:223:(.text+0xe9e): undefined reference to `nbd_internal_ocaml_nbd_add_meta_context'
/usr/bin/ld: ../lib/mlv2vlib.a(utils.o): in function `camlUtils__fun_3773':
/tmp/makepkg/build/virt-v2v/src/virt-v2v-2.2.0/lib/utils.ml:227:(.text+0xef0): undefined reference to `nbd_internal_ocaml_nbd_shutdown'
/usr/bin/ld: ../lib/mlv2vlib.a(utils.o): in function `camlUtils__fun_3778':
/tmp/makepkg/build/virt-v2v/src/virt-v2v-2.2.0/lib/utils.ml:229:(.text+0xf0b): undefined reference to `nbd_internal_ocaml_nbd_close'
/usr/bin/ld: ../lib/mlv2vlib.a(utils.o): in function `camlUtils__fun_3787':
/tmp/makepkg/build/virt-v2v/src/virt-v2v-2.2.0/lib/utils.ml:236:(.text+0xfbc): undefined reference to `nbd_internal_ocaml_nbd_can_meta_context'
/usr/bin/ld: /tmp/makepkg/build/virt-v2v/src/virt-v2v-2.2.0/lib/utils.ml:238:(.text+0xfd7): undefined reference to `nbd_internal_ocaml_nbd_get_size'
/usr/bin/ld: /tmp/makepkg/build/virt-v2v/src/virt-v2v-2.2.0/lib/utils.ml:244:(.text+0x10e3): undefined reference to `nbd_internal_ocaml_nbd_block_status'
/usr/bin/ld: ../common/mltools/mltools.a(tools_utils.o): in function `camlTools_utils__inspect_decrypt_2604':
/tmp/makepkg/build/virt-v2v/src/virt-v2v-2.2.0/common/mltools/tools_utils.ml:710:(.text+0x4ec0): undefined reference to `guestfs_int_ocaml_c_pointer'
/usr/bin/ld: /usr/lib/ocaml/nbd/mlnbd.a(NBD.o): in function `camlNBD__fun_1461':
(.text+0xa): undefined reference to `nbd_internal_ocaml_nbd_get_uri'
/usr/bin/ld: /usr/lib/ocaml/nbd/mlnbd.a(NBD.o): in function `camlNBD__fun_1463':
(.text+0x2a): undefined reference to `nbd_internal_ocaml_nbd_supports_uri'
/usr/bin/ld: /usr/lib/ocaml/nbd/mlnbd.a(NBD.o): in function `camlNBD__fun_1465':
(.text+0x4a): undefined reference to `nbd_internal_ocaml_nbd_supports_vsock'
/usr/bin/ld: /usr/lib/ocaml/nbd/mlnbd.a(NBD.o): in function `camlNBD__fun_1467':
(.text+0x6a): undefined reference to `nbd_internal_ocaml_nbd_supports_tls'
/usr/bin/ld: /usr/lib/ocaml/nbd/mlnbd.a(NBD.o): in function `camlNBD__fun_1469':
(.text+0x8d): undefined reference to `nbd_internal_ocaml_nbd_kill_subprocess'
/usr/bin/ld: /usr/lib/ocaml/nbd/mlnbd.a(NBD.o): in function `camlNBD__fun_1471':
(.text+0xaa): undefined reference to `nbd_internal_ocaml_nbd_get_version'
/usr/bin/ld: /usr/lib/ocaml/nbd/mlnbd.a(NBD.o): in function `camlNBD__fun_1473':
(.text+0xca): undefined reference to `nbd_internal_ocaml_nbd_get_package_name'
[...]
/usr/bin/ld: (.text+0x1551): undefined reference to `nbd_internal_ocaml_nbd_close'
/usr/bin/ld: /usr/lib/ocaml/nbd/mlnbd.a(NBD.o): in function `camlNBD__1':
(.data+0x1ae8): undefined reference to `nbd_internal_ocaml_nbd_get_uri'
/usr/bin/ld: (.data+0x1af0): undefined reference to `nbd_internal_ocaml_nbd_supports_uri'
/usr/bin/ld: (.data+0x1af8): undefined reference to `nbd_internal_ocaml_nbd_supports_vsock'
/usr/bin/ld: (.data+0x1b00): undefined reference to `nbd_internal_ocaml_nbd_supports_tls'
/usr/bin/ld: (.data+0x1b08): undefined reference to `nbd_internal_ocaml_nbd_kill_subprocess'
/usr/bin/ld: (.data+0x1b10): undefined reference to `nbd_internal_ocaml_nbd_get_version'
/usr/bin/ld: (.data+0x1b18): undefined reference to `nbd_internal_ocaml_nbd_get_package_name'
/usr/bin/ld: (.data+0x1b20): undefined reference to `nbd_internal_ocaml_nbd_connection_state'
/usr/bin/ld: (.data+0x1b28): undefined reference to `nbd_internal_ocaml_nbd_aio_in_flight'
[...]
/usr/bin/ld: (.data+0x1fd0): undefined reference to `nbd_internal_ocaml_buffer_to_bytes'
/usr/bin/ld: (.data+0x1fd8): undefined reference to `nbd_internal_ocaml_buffer_alloc'
/usr/bin/ld: /usr/lib/ocaml/guestfs/mlguestfs.a(guestfs.o): in function `camlGuestfs__fun_23062':
(.text+0x4f0): undefined reference to `guestfs_int_ocaml_yara_destroy'
/usr/bin/ld: /usr/lib/ocaml/guestfs/mlguestfs.a(guestfs.o): in function `camlGuestfs__fun_22748':
(.text+0x930): undefined reference to `guestfs_int_ocaml_wait_ready'
[...]
/usr/bin/ld: /usr/lib/ocaml/guestfs/mlguestfs.a(guestfs.o): in function `camlGuestfs__entry':
(.text+0x39256): undefined reference to `guestfs_int_ocaml_get_EINVAL'
/usr/bin/ld: (.text+0x3928a): undefined reference to `guestfs_int_ocaml_get_ENOTSUP'
/usr/bin/ld: (.text+0x392be): undefined reference to `guestfs_int_ocaml_get_EPERM'
[...]
/usr/bin/ld: (.data+0x12018): undefined reference to `guestfs_int_ocaml_close'
/usr/bin/ld: (.data+0x12020): undefined reference to `guestfs_int_ocaml_create'
collect2: error: ld returned 1 exit status
File "caml_startup", line 1:
Error: Error during linking (exit code 1)
[...]

Regards!

I don't know any further since I don't know deeper about dynamic libraries and the linker.

solsticedhiver commented on 2023-10-14 14:16 (UTC)

@dreieck same answer as before rebuilt libnbd with ocaml installed first

not sure ocaml-nbd will fix that. and this is not really the archlinux'way, right?

dreieck commented on 2023-10-14 13:50 (UTC) (edited on 2023-10-14 13:51 (UTC) by dreieck)

Ahoj,

I have libnbd installed but get the following ./configure error:

checking for OCaml findlib package nbd... not found
configure: error: the OCaml module 'nbd' (from libnbd) is required

Same as already reported on 2023-06-01.

Maybe a package ocaml-nbd needs to be made and we need to depend on that?

Regards!