here is the two results I got from three commands:

$ grep for_each src/libguestfs.syms       
    guestfs___for_each_disk;

$ nm -D src/.libs/libguestfs.so | grep for_each
    no result returned

[root@Fedora16 libguestfs-1.17.21]# make -C df V=1
    make: Entering directory `/home/feeliwood/Downloads/libguestfs-1.17.21/df'
    make -C ../src libguestfs.la
    make[1]: Entering directory `/home/feeliwood/Downloads/libguestfs-1.17.21/src'
    make -C ../generator stamp-generator
    make[2]: Entering directory `/home/feeliwood/Downloads/libguestfs-1.17.21/generator'
    make[2]: `stamp-generator' is up to date.
    make[2]: Leaving directory `/home/feeliwood/Downloads/libguestfs-1.17.21/generator'
    make[1]: Leaving directory `/home/feeliwood/Downloads/libguestfs-1.17.21/src'
    bash ../libtool-kill-dependency_libs.sh ../libtool  --tag=CC   --mode=link gcc -std=gnu99 -std=gnu99 -DGUESTFS_WARN_DEPRECATED=1 -I../src -I../src -I../fish     -I./../gnulib/lib -I../gnulib/lib -DLOCALEBASEDIR=\""/usr/local/share/locale"\"     -g -O2   -o virt-df virt_df-config.o virt_df-inspect.o virt_df-keys.o virt_df-options.o         virt_df-virt.o virt_df-domains.o virt_df-df.o virt_df-main.o virt_df-output.o  ../src/libguestfs.la ../gnulib/lib/libgnu.la -lvirt -ldl   -lm
    libtool: link: gcc -std=gnu99 -std=gnu99 -DGUESTFS_WARN_DEPRECATED=1 -I../src -I../src -I../fish -I./../gnulib/lib -I../gnulib/lib -DLOCALEBASEDIR=\"/usr    /local/share/locale\" -g -O2 -o .libs/virt-df virt_df-config.o virt_df-inspect.o virt_df-keys.o virt_df-options.o virt_df-virt.o virt_df-domains.o virt_df-df.o virt_df-main.o     virt_df-output.o  ../src/.libs/libguestfs.so ../gnulib/lib/.libs/libgnu.a -lvirt -ldl -lm -Wl,-rpath -Wl,/usr/local/lib
    virt_df-domains.o: In function `add_domain':
    /home/feeliwood/Downloads/libguestfs-1.17.21/df/domains.c:274: undefined reference to `guestfs___for_each_disk'
    collect2: ld returned 1 exit status
    make: *** [virt-df] Error 1
    make: Leaving directory `/home/feeliwood/Downloads/libguestfs-1.17.21/df'



From: Richard W.M. Jones <rjones@redhat.com>
To: THO HUYNH <feeliwood@yahoo.com>
Cc: libguestfs@redhat.com
Sent: Sunday, 25 March 2012, 17:35
Subject: Re: [Libguestfs] trouble compiling libguestfs 1.17.21

On Sun, Mar 25, 2012 at 11:06:55AM +0100, Richard W.M. Jones wrote:
> On Sun, Mar 25, 2012 at 02:57:50AM -0700, THO HUYNH wrote:
> > yes I`m using Fedora 16 with libguestfs version 1.16.5 already installed.
>
> I have a similar system so I'll try a build from the tarball now.

It builds OK for me here, which is not to say that it's not a bug (it
certainly looks like one) just that I cannot reproduce it.

If the symbol exported from the library?  On my F16 machine, the
symbol is added correctly to the export script:

  $ grep for_each src/libguestfs.syms
          guestfs___for_each_disk;

and exported correctly from the library:

  $ nm -D src/.libs/libguestfs.so | grep for_each
  00000000000704b0 T guestfs___for_each_disk

You could also try looking at the link command:

  make -C df V=1

Rich.

PS.
I do see another, completely unrelated bug:

  make[3]: Leaving directory `/home/rich/d/libguestfs-1.17.21/generator'
  rake build
  rake aborted!
  no such file to load -- rdoc/task
 
  (See full trace by running task with --trace)

which appears to caused by fd7a5a8bbdc69b9d2a92f6d05ac555334d0516bf.

--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org