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