On Sun, Nov 17, 2019 at 7:03 PM Richard W.M. Jones <rjones(a)redhat.com> wrote:
On Sun, Nov 17, 2019 at 06:07:48PM +0200, Nir Soffer wrote:
> Looks like virt-v2v cannot be built now, since it requires non-existing version
> of libguestfs-devel.
>
> Based on (no README or any instructions in virt-v2v)
>
http://libguestfs.org/guestfs-building.1.html
>
> I tried this:
>
> git clean -dxf
> ./autogen.sh
>
> And it fails with:
>
> --- Checking for libraries used by virt-v2v ---
> checking for pkg-config... /usr/bin/pkg-config
> checking pkg-config is at least version 0.9.0... yes
> checking for LIBGUESTFS... no
> configure: error: Package requirements (libguestfs >= 1.41.5) were not met:
>
> Package dependency requirement 'libguestfs >= 1.41.5' could not be
satisfied.
> Package 'libguestfs' has version '1.40.2', required version is
'>= 1.41.5'
You can actually use 1.40 just fine. There is a single test which
requires 1.41 (I forget now which one), and we should probably change
that test to make it conditional. Just modify m4/guestfs-libraries.m4:
-PKG_CHECK_MODULES([LIBGUESTFS], [libguestfs >= 1.41.5])
+PKG_CHECK_MODULES([LIBGUESTFS], [libguestfs >= 1.40])
and rerun ‘autoreconf -i’.
Tried again with new clean checkout, this change fixes the issue.
The next issue is same as libguestfs:
autoreconf: running: automake --add-missing --copy --no-force
configure.ac:30: installing 'build-aux/missing'
configure.ac:102: error: required file 'common/options/Makefile.in' not found
configure.ac:102: error: required file 'common/mlaugeas/Makefile.in' not found
configure.ac:102: error: required file
'common/mlcustomize/Makefile.in' not found
...
parallel-tests: installing 'build-aux/test-driver'
gnulib/lib/Makefile.am: installing 'build-aux/depcomp'
autoreconf: automake failed with exit status: 1
autogen.sh ignores the error and continue, and finally failing with:
config.status: error: cannot find input file: `Makefile.in'
Looking in common we have:
$ tree common
common
├── mlgettext
│ └── common_gettext.ml
└── mlstdutils
I tried you other suggests for git submodules:
$ git submodule init
Submodule 'common' (
https://github.com/libguestfs/libguestfs-common)
registered for path 'common'
$ git submodule update
fatal: destination path '/home/nsoffer/src/virt-v2v/common' already
exists and is not an empty directory.
fatal: clone of 'https://github.com/libguestfs/libguestfs-common' into
submodule path '/home/nsoffer/src/virt-v2v/common' failed
Failed to clone 'common'. Retry scheduled
fatal: destination path '/home/nsoffer/src/virt-v2v/common' already
exists and is not an empty directory.
fatal: clone of 'https://github.com/libguestfs/libguestfs-common' into
submodule path '/home/nsoffer/src/virt-v2v/common' failed
Failed to clone 'common' a second time, aborting
So I tried:
rm -rf common/*
$ git submodule update
Cloning into '/home/nsoffer/src/virt-v2v/common'...
Submodule path 'common': checked out
'8c42f772614b44a8cb974afa904ec9f518431ab2'
$ ./autogen.sh
This seems to fix the issue, but make failed with:
$ make -j8
There seems to be no Makefile in this directory.
You must run ./configure before running 'make'.
make: *** [GNUmakefile:108: abort-due-to-no-makefile] Error 1
$ ./configure
Works, but now make fail with:
$ make -j8
make all-recursive
make[1]: Entering directory '/home/nsoffer/src/virt-v2v'
Making all in common/mlstdutils
make[2]: Entering directory '/home/nsoffer/src/virt-v2v/common/mlstdutils'
OCAMLCMI guestfs_config.cmi
OCAMLCMI stringMap.cmi
CC libmlstdutils_a-dummy.o
OCAMLCMI stringSet.cmi
OCAMLCMI std_utils.cmi
ocamlfind: Package `guestfs' not found
ocamlfind: Package `guestfs' not found
ocamlfind: Package `guestfs' not found
ocamlfind: Package `guestfs' not found
make[2]: *** [Makefile:2547: stringMap.cmi] Error 2
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [Makefile:2547: guestfs_config.cmi] Error 2
make[2]: *** [Makefile:2547: std_utils.cmi] Error 2
make[2]: *** [Makefile:2547: stringSet.cmi] Error 2
make[2]: Leaving directory '/home/nsoffer/src/virt-v2v/common/mlstdutils'
make[1]: *** [Makefile:2066: all-recursive] Error 1
make[1]: Leaving directory '/home/nsoffer/src/virt-v2v'
make: *** [Makefile:1986: all] Error 2
Sometihng missing in common?