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