


























makedepends=('ocaml' 'ocaml-findlib' 'ocaml-libvirt' 'libisoburn')
Error: Files /usr/lib/ocaml/guestfs/mlguestfs.cmxa
and /usr/lib/ocaml/stdlib.cmxa
make inconsistent assumptions over interface Stdlib__Gc
With the newer libnbd package from [extra] version 1.18.1-2 or above, everything should work smoothly and as expected ...
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.
@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.
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.
@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?
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!
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。
With the newer libnbd package from [extra] version 1.18.1-2 or above, everything should work smoothly and as expected ...