[libvirt] broken pipe?

Daniel P. Berrange berrange at redhat.com
Wed Dec 3 09:27:36 UTC 2008


On Wed, Dec 03, 2008 at 02:25:58AM -0500, Itamar Heim wrote:
> As no one answered my previous problem., I'm trying to build latest
> libvirt to be able to be more productive and find out if happens on later
> versions.
> 
> Some silly questions to save time (on FC10 64):
> 
> 1.       Can one build without xen-devel (the autobuild.sh does not care
> for --without-xen
> configure: error: You must install the Xen development package to compile
> Xen driver with -lxenstore
> (I installed xen-devel to bypass for now)

autobuild.sh is our automated build system for dev purposes, so it forces
enablement of everything.

For your own builds from CVS, just run  autogen.sh and pass whatever
flags you need. Or just install xen-devel as you mention.

> 
> 2.       checking libxml2 xml2-config >= 2.5.0 ... configure: error: Could
> not find libxml2 anywhere (see config.log for details)
> but
> Package libxml2-2.7.2-2.fc10.x86_64 already installed and latest version?

You need the development package  libxml2-devel for compilation. Also
make sure yum gives you the 64-bit -devel package, not just the -32bit
one.

> 3.       already found the SDL patch is part of 0.50. since the build
> failed, I installed the rpm:
> 
> rpm -i /tmp/libvirt-0.5.0-1.fc9.x86_64.rpm

The version number here says it was built for Fedora 9

> warning: /tmp/libvirt-0.5.0-1.fc9.x86_64.rpm: Header V3 DSA signature:
> NOKEY, key ID de95bc1f
> 
> error: Failed dependencies:
> 
>  libgnutls.so.13()(64bit) is needed by libvirt-0.5.0-1.fc9.x86_64
> 
>  libgnutls.so.13(GNUTLS_1_3)(64bit) is needed by
> libvirt-0.5.0-1.fc9.x86_64

But you mention above you are on Fedora 10. As a general rule you
can't mix & match builds like this. The Fedora 9 GNUTLS has a differnt
ABI to the Fedora 10 GNUTLS, hence why RPM complains when trying to
install a libvirt built on F9, on F10.

> 4.       as for the python-libvirt rpm
> 
> Seems the libvirt-python spec does not check for some dependency of cygwin
> (why would I need that on fedora)?
> 
> Traceback (most recent call last):
> 
>   File "./test_libvirt.py", line 2, in <module>
> 
>     import libvirt
> 
>   File "/usr/lib64/python2.5/site-packages/libvirt.py", line 12, in
> <module>
> 
>     import cygvirtmod as libvirtmod
> 
> ImportError: No module named cygvirtmod

You only get this becasue the first 'import libvirt' failed for 
some reason - I guess the libvirt-python vs libvirt RPMs you have
installed are not matching.

If you are compiling from source from CVS, you generally need to make
sure you set  

  export LD_LIBRARY_PATH=$PREFIX/lib
  export PYTHONPATH=$PREFIX/lib/python2.5/site-packages

replacing $PREFIX with whatever --prefix value you gave to configure

> I happen to want to use SDL, and it fails on "Could not initialize SDL -
> exiting".
> 
> While I need to solve this error (i.e., find out in which version this
> patch was included to allow me to specify the DISPLAY
> http://www.mail-archive.com/libvir-list@redhat.com/msg08764.html)

That patch is in 0.5.0 release

> ./test_libvirt.py
> 
> libvir: Remote error : socket closed unexpectedly
> 
> Traceback (most recent call last):
> 
>   File "./test_libvirt.py", line 37, in <module>
> 
>     vm = c.createLinux(x, 0) # what a lousy function name
> 
>   File "/usr/lib64/python2.5/site-packages/libvirt.py", line 892, in
> createLinux
> 
>     if ret is None:raise libvirtError('virDomainCreateLinux() failed',
> conn=self)
> 
> libvirt.libvirtError: socket closed unexpectedly
> 
> libvir: Remote error : Broken pipe

This indicates a bug in the libvirtd daemon - it is probably crashing.
If you want to investigate, then use do 'debuginfo-install libvirt'
and use gdb to capture a stack trace

> 
>  
> 
> Code:
> 
> #!/usr/bin/env python
> 
> import libvirt
> 
> c = libvirt.open('qemu:///system')
> 
> x = """<domain type='kvm'>

[snip]

>     <graphics type='sdl'/>


You really need to set  

  <graphics type='sdl' display='0.0' and xauth='....some xuath file'/>

The libvirtd daemon blocks any $DISPLAY env set when it was started, so
without explicitly setting the display in the XML you'll be very unlikely
to start SDL.


Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list