[Libguestfs] issue when building/making package from git

Richard W.M. Jones rjones at redhat.com
Mon Aug 11 13:29:02 UTC 2014


On Mon, Aug 11, 2014 at 03:06:57PM +0200, arnaud gaboury wrote:
> I am trying to build/install libguestfs from git. My box is Archlinux,
> GCC 4.9.1 and all dev tools installed.
> 
> If I manually
> $ gitclone gitUrl
> $ cd libguestfs
> $ ./autogen.sh
> $ ./configure --someOptions
> 
> the build goes until the end and leaves me with binaries.

Does p2v/virt-p2v (binary) exist?

> 
> Now I want to install it properly on my machine. Arch use a makepkg
> [1] command to build and install packages not in the official repos.
> 
> When running
> $ makepkg
> I have this structure which sounds correct:
> libguestfs-git/pkg/
> libguestfs-git/src/AllNeededDir_cloned_here
> 
> but at one time the build breaks with these errors:
> -----------------------------
> ../src/.libs/libutils.a(
> libutils_la-cleanup.o): In function `guestfs___cleanup_xmlBufferFree':
> cleanup.c:(.text+0x79): undefined reference to `xmlBufferFree'
> ../src/.libs/libutils.a(libutils_la-cleanup.o): In function
> `guestfs___cleanup_xmlFreeDoc':
> cleanup.c:(.text+0x99): undefined reference to `xmlFreeDoc'
> ../src/.libs/libutils.a(libutils_la-cleanup.o): In function
> `guestfs___cleanup_xmlFreeURI':
> cleanup.c:(.text+0xb9): undefined reference to `xmlFreeURI'
> ../src/.libs/libutils.a(libutils_la-cleanup.o): In function
> `guestfs___cleanup_xmlFreeTextWriter':
> cleanup.c:(.text+0xd9): undefined reference to `xmlFreeTextWriter'
> ../src/.libs/libutils.a(libutils_la-cleanup.o): In function
> `guestfs___cleanup_xmlXPathFreeContext':
> cleanup.c:(.text+0xf9): undefined reference to `xmlXPathFreeContext'
> ../src/.libs/libutils.a(libutils_la-cleanup.o): In function
> `guestfs___cleanup_xmlXPathFreeObject':
> cleanup.c:(.text+0x119): undefined reference to `xmlXPathFreeObject'
> collect2: error: ld returned 1 exit status
> Makefile:1598: recipe for target 'virt-p2v' failed

The error seems to be libxml2 missing.  Now it builds OK using just a
plain build, but not from makepkg.

Can you get makepkg to add `V=1' flag to make, ie:

  make V=1

That should print the full compile/link commands.

> I can't figure out why the binaries build manually and not using
> makepkg(). The only things I see are CFLAGS and LDFLAGS passed to makepkg().
> Here are part from /etc/makepkg.conf:
> ------------------------------
> CPPFLAGS="-D_FORTIFY_SOURCE=2"
> CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector
> --param=ssp-buffer-size=4"
> CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector
> --param=ssp-buffer-size=4"
> LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro"
> #-- Make Flags: change this for DistCC/SMP systems
> MAKEFLAGS="-j 8"
> #-- Debugging flags
> DEBUG_CFLAGS="-g -fvar-tracking-assignments"
> DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
> ------------------------------
> 
> Is there any flag which can prevent to build libguestfs?
> I even tried to add some more flags regarding xml2 (not sure it is
> worth) but it didn't change.
> ------------
>  -I/usr/include/libxml2
>  -lxml2 -lz -ldl -lm
> ------------------------
> 
> Thank you for any suggestion.
> 
> [1]https://wiki.archlinux.org/index.php/Makepkg

I'll see if I can build it on my ArchLinux VM.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html




More information about the Libguestfs mailing list