
2011/5/14 Jason Helfman <jhelfman@e-e.com>:
On Sat, May 14, 2011 at 08:45:41AM +0200, Matthias Bolte thus spake:
2011/5/14 Jason Helfman <jhelfman@e-e.com>:
On Sat, May 14, 2011 at 08:25:13AM +0200, Matthias Bolte thus spake:
2011/5/14 Jason Helfman <jhelfman@e-e.com>:
On Fri, May 13, 2011 at 08:38:58AM +0200, Matthias Bolte thus spake:
2011/5/12 Jason Helfman <jhelfman@e-e.com>: > > Hi, > > I am interested in porting libvirt to FreeBSD, and am curious if > there > may > be anything that may not be possible at this point in respect to the > libvirt > source code to be aware of. Here is the log of the build of the > software: > > I know it has been ported to MacOSX, and thought it could then be > possible > with FreeBSD. > > Thanks, > Jason
libvirt should be compilable on FreeBSD. At least it was in this state a while ago when I've fixed some compile errors. I just check it again.
You'll need to explicitly run
./configure --without-network --without-polkit
because libvirt's virtual networking code is specific to Linux bridges and libvirt doesn't polkit on FreeBSD yet.
You'll also need this patch on top of libvirt 0.9.1
https://www.redhat.com/archives/libvir-list/2011-May/msg00831.html
Then it compiles for me. There are still several warnings about NULL format strings and devname shadowing a global symbol.
Maybe Eric knows if this warning is critical:
util/sexpr.c: In function 'sexpr2string': util/sexpr.c:250: warning: null format string [-Wformat]
virSexprError(VIR_ERR_SEXPR_SERIAL, NULL);
So aside from possible simple compile errors you'll need to port at least the virtual networking to FreeBSD when you want to run QEMU using libvirt on FreeBSD. If you just want to support the libvirt client side to use libvirt to control a hypervisor running on a non-FreeBSD host then you're already there.
Matthias
Here is the port: http://jgh.devio.us/files/libvirt.shar.txt
Anyone have any thoughts on it, or can report success on it?
download the txt file run sh ./libvirt.shar.txt cd libvirt make install
Thanks, Jason
I downloaded libvirt.shar.txt to /usr/src/jason/ and running make in the libvirt subdirectory complains about libvirt-0.9.1.tar.gz not being in /usr/src/jason/libvirt/distinfo.
I'm not really familiar with FreeBSD, did I miss something?
Matthias
What happens if you run:
make fetch make install
What commands did you run to get the error? I am not having that issue.
Thanks, Jason
make fetch gives the same error
Okay, so here's what I did:
mkdir -p /usr/src/foobar/jason cd /usr/src/foobar/jason wget http://jgh.devio.us/files/libvirt.shar.txt sh libvirt.shar.txt
This outputs:
c - libvirt/ x - libvirt/Makefile x - libvirt/distinfo c - libvirt/files x - libvirt/files/patch-src__util__command.c x - libvirt/pkg-descr x - libvirt/pkg-plist
Then:
cd libvirt make fetch
This outputs:
===> Vulnerability check disabled, database not found ===> License accepted by the user => libvirt-0.9.1.tar.gz is not in /usr/src/foobar/jason/libvirt/distinfo. => Either /usr/src/foobar/jason/libvirt/distinfo is out of date, or => libvirt-0.9.1.tar.gz is spelled incorrectly. *** Error code 1 Stop in /usr/src/foobar/jason/libvirt.
Matthias
Try and grab a fresh copy of the txt file again. I just re-uploaded it. If you get the same error, I would be suprised, but if you do run this:
I have ports installed under /usr/ports and even the new version fails with the same error as before:
make makesum make install
freebsd# make makesum ===> Vulnerability check disabled, database not found ===> License accepted by the user => libvirt-0.9.1.tar.gz doesn't seem to exist in /usr/ports/distfiles/. => Attempting to fetch from http://libvirt.org/sources/. libvirt-0.9.1.tar.gz 100% of 14 MB 258 kBps 00m00s freebsd# less distinfo MD5 (libvirt-0.9.1.tar.gz) = 4182dbe290cca4344a5387950dc06433 SHA256 (libvirt-0.9.1.tar.gz) = 02b3423bb188a4a904eac3ee5cb698a55f5172e4d0ac62cbbcb9245a121b7b2b SIZE (libvirt-0.9.1.tar.gz) = 15216787 freebsd# make ===> Vulnerability check disabled, database not found ===> License accepted by the user ===> Extracting for libvirt-0.9.1 => MD5 Checksum OK for libvirt-0.9.1.tar.gz. => SHA256 Checksum OK for libvirt-0.9.1.tar.gz. ===> Patching for libvirt-0.9.1 ... Now it start to configure and compile libgcrypt-1.4.5_1 but it's installed already due to gnutls and curl. In the end it fails: ... ===> Installing for libgcrypt-1.4.5_1 ===> Generating temporary packing list ===> Checking if security/libgcrypt already installed ===> libgcrypt-1.4.5_1 is already installed You may wish to ``make deinstall'' and install this port again by ``make reinstall'' to upgrade it properly. If you really wish to overwrite the old port of security/libgcrypt without deleting it first, set the variable "FORCE_PKG_REGISTER" in your environment or the "make install" command line. *** Error code 1 Stop in /usr/ports/security/libgcrypt. *** Error code 1 Stop in /usr/src/foobar/jason/libvirt. When I try to resolve that as suggested and try to run make for libvirt again it fails with a version mismatch as it seems: freebsd# make ===> libvirt-0.9.1 depends on file: /usr/local/bin/python2.6 - found ===> libvirt-0.9.1 depends on executable: gmake - found ===> libvirt-0.9.1 depends on shared library: curl.6 - found ===> libvirt-0.9.1 depends on shared library: gcrypt.17 - not found ===> Verifying install for gcrypt.17 in /usr/ports/security/libgcrypt ===> Returning to build of libvirt-0.9.1 Error: shared library "gcrypt.17" does not exist *** Error code 1 Stop in /usr/src/foobar/jason/libvirt. Maybe my ports tree is outdated? I installed this FreeBSD 8.1 virtual machine like half a year ago and didn't update it since then. Matthias