While setting up a development environment on a clean Fedora 28 host, I got some errors. I followed the instructions in http://libguestfs.org/guestfs-building.1.html dnf builddep libguestfs ./autogen.sh autogen.sh failed: ./configure: line 57694: syntax error near unexpected token `external' ./configure: line 57694: `AM_GNU_GETTEXT(external)' Checking the entire log show that autoreconf failed, but the script continued: ... m4/guestfs-libraries.m4:151: warning: macro 'AM_GNU_GETTEXT' not found in library autoreconf: configure.ac: tracing autoreconf: running: true --copy m4/guestfs-libraries.m4:151: warning: macro 'AM_GNU_GETTEXT' not found in library autoreconf: running: /usr/bin/autoconf configure:57694: error: possibly undefined macro: AM_GNU_GETTEXT If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. autoreconf: /usr/bin/autoconf failed with exit status: 1 We can fix this by adding "set -e" in bootstrap. Any reason not to do this? I found old thread here about this: https://gb.redhat.com/archives/libguestfs/2018-February/msg00017.html Richard suggested to install gettext-devel, and it solve this issue after git clean -dxf and running ./autogen.sh again. So it seems that gettest-devel should be in build requirements. After fixing the first issue I found that jansson-devel is also missing. Should'nt we add these packages to the build requirements? Next issues - trying to test upload to ovirt, I found that these packages should be installed: nbdkit nbdkit-plugin-python3 python3-ovirt-engine-sdk4 Should we document these requirements in the rhv-upload-plugin? Nir
On Sun, Jun 24, 2018 at 07:44:21PM +0300, Nir Soffer wrote:> While setting up a development environment on a clean Fedora 28 host, > I got some errors. > > I followed the instructions in > http://libguestfs.org/guestfs-building.1.html > > dnf builddep libguestfs > ./autogen.sh > > autogen.sh failed: > > ./configure: line 57694: syntax error near unexpected token `external' > ./configure: line 57694: `AM_GNU_GETTEXT(external)'This happens because the build dependencies of the libguestfs package don't include autoconf, automake, libtool, gettext or gettext-devel. These are not required to build from the tarball. So you'll need to do: dnf install autoconf automake libtool gettext-devel I'll update the docs.> After fixing the first issue I found that jansson-devel is also missing.This happens because libguestfs 1.39 switched to using jansson instead of the deprecated yajl library. However this dependency is not needed for 1.38 so it's not included in the Fedora spec file yet.> Should'nt we add these packages to the build requirements? > > Next issues - trying to test upload to ovirt, I found that these > packages should be installed: > > nbdkit > nbdkit-plugin-python3 > python3-ovirt-engine-sdk4 > > Should we document these requirements in the rhv-upload-plugin?We're going to add these as dependencies soon, but note that -o rhv-upload is also not included in 1.38. It's a new 1.39+ feature, so same problem as above. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org
On 06/24/2018 11:44 AM, Nir Soffer wrote:> While setting up a development environment on a clean Fedora 28 host, > I got some errors. > > I followed the instructions in > http://libguestfs.org/guestfs-building.1.html > > dnf builddep libguestfs > ./autogen.sh > > autogen.sh failed: > > ./configure: line 57694: syntax error near unexpected token `external' > ./configure: line 57694: `AM_GNU_GETTEXT(external)' > > Checking the entire log show that autoreconf failed, but the script > continued: > > ... > m4/guestfs-libraries.m4:151: warning: macro 'AM_GNU_GETTEXT' not found in > library > autoreconf: configure.ac: tracing > autoreconf: running: true --copy > m4/guestfs-libraries.m4:151: warning: macro 'AM_GNU_GETTEXT' not found in > library > autoreconf: running: /usr/bin/autoconf > configure:57694: error: possibly undefined macro: AM_GNU_GETTEXT > If this token and others are legitimate, please use m4_pattern_allow. > See the Autoconf documentation. > autoreconf: /usr/bin/autoconf failed with exit status: 1 > > We can fix this by adding "set -e" in bootstrap. Any reason not to do this?Yes. 'set -e' is a crutch, and does not behave intuitively when any shell functions are in use. It is better to avoid it and instead directly code up proper error checking instead of relying on the crutch.> > I found old thread here about this: > https://gb.redhat.com/archives/libguestfs/2018-February/msg00017.html > > Richard suggested to install gettext-devel, and it solve this issue after > git clean -dxf and running ./autogen.sh again. > > So it seems that gettest-devel should be in build requirements.There's a difference between tarball build requirements (which should not need running ./autogen.sh, nor having the autotools installed), and development building from a .git checkout (which DOES need more tools).> > After fixing the first issue I found that jansson-devel is also missing. > > Should'nt we add these packages to the build requirements? > > Next issues - trying to test upload to ovirt, I found that these > packages should be installed: > > nbdkit > nbdkit-plugin-python3 > python3-ovirt-engine-sdk4 > > Should we document these requirements in the rhv-upload-plugin? > > Nir > > > > _______________________________________________ > Libguestfs mailing list > Libguestfs@redhat.com > https://www.redhat.com/mailman/listinfo/libguestfs >-- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org