Sorry I meant  " nm -D /usr/lib/libaugeas.so.0 | grep AUGEAS " there is no folder named /usr/lib64 on ubuntu since 12.04 version..

On Sun, Oct 18, 2015 at 1:26 PM, Efstratios Skleparis <eskleparis@gmail.com> wrote:
Goodmornin,

Since I am running ubuntu I  did " nm -D /usr/lib64/libaugeas.so.0 | grep AUGEAS " and I didn't find "AUGEAS_0.16.0" , but I got this instead : 

0000000000000000 A AUGEAS_0.1.0
0000000000000000 A AUGEAS_0.10.0
0000000000000000 A AUGEAS_0.11.0
0000000000000000 A AUGEAS_0.12.0
0000000000000000 A AUGEAS_0.14.0
0000000000000000 A AUGEAS_0.15.0
0000000000000000 A AUGEAS_0.8.0

Also removed the tmp/.guestfs-1000 folder as you requested and then rerun ' make quickcheck' but still . 

Hmm seems weird I downloaded and compiled successfully augeas library 1.4 version from the tarball , it's the latest version, correct me if I am not wrong ? 

Thanks for your time,

Efstratos


On Sun, Oct 18, 2015 at 1:20 AM, Richard W.M. Jones <rjones@redhat.com> wrote:
On Sat, Oct 17, 2015 at 09:40:20PM +0300, Efstratios Skleparis wrote:
> Dear all,
>
> After successfully compiling libguestfs on XEN hypervisor [running
> ubuntu server 12.04 x64bit] i tried to ./run libguestfs-test-tool
> but I got this error:
>
> guestfsd: /usr/lib/libaugeas.so.0: version `AUGEAS_0.16.0' not found
> (required by guestfsd)

The error means the /usr/lib/libaugeas.so.0 copied into the appliance
doesn't contain the AUGEAS_0.16.0 symbol versions.  Maybe it's some
old version of the augeas library.

If you run `nm -D /usr/lib/libaugeas.so.0' on the host you should
hopefully see AUGEAS_0.16.0 somewhere in the output.  eg. on my Fedora
machine (so slightly different) I see:

$ nm -D /usr/lib64/libaugeas.so.0 | grep AUGEAS_0.16.0
0000000000000000 A AUGEAS_0.16.0

I see from your test that you're using supermin [good] to build the
appliance, in the libguestfs build directory:

> libguestfs: [00003ms] run supermin
> libguestfs: command: run: /usr/local/bin/supermin
> libguestfs: command: run: \ --build
> libguestfs: command: run: \ --verbose
> libguestfs: command: run: \ --if-newer
> libguestfs: command: run: \ --lock /home/str/libguestfs-1.30.3/tmp/.guestfs-1000/lock
> libguestfs: command: run: \ --copy-kernel
> libguestfs: command: run: \ -f ext2
> libguestfs: command: run: \ --host-cpu x86_64
> libguestfs: command: run: \ /home/str/libguestfs-1.30.3/appliance/supermin.d
> libguestfs: command: run: \ -o /home/str/libguestfs-1.30.3/tmp/.guestfs-1000/appliance.d
> supermin: version: 5.1.13
> supermin: package handler: debian/dpkg
> supermin: acquiring lock on /home/str/libguestfs-1.30.3/tmp/.guestfs-1000/lock
> supermin: if-newer: output does not need rebuilding

In this case supermin is saying the appliance in
/home/str/libguestfs-1.30.3/tmp/.guestfs-1000 is new enough so it
doesn't need to rebuild it.

It seems as if the /usr/lib/libaugeas.so.0 file cached in the
appliance is too old for some reason, so you can try getting supermin
to rebuild the appliance.

Just do:

  rm -rf /home/str/libguestfs-1.30.3/tmp/.guestfs-1000

and rerun `make quickcheck'.

If that doesn't fix the problem, you should run virt-rescue to
open a shell on the appliance:

  ./run virt-rescue --scratch

and from the shell you can look inside the appliance to find out
if libaugeas exists, is new enough and so on.  eg:

  ><rescue> nm -D /usr/lib/libaugeas.so.0
  ><rescue> ls -l /usr/lib/libaugeas.so.0
  ><rescue> ldd /usr/sbin/guestfsd

Rich.

--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/