On Sat, May 14, 2011 at 08:45:41AM +0200, Matthias Bolte thus spake:
>
> 2011/5/14 Jason Helfman <jhelfman(a)e-e.com>:
>>
>> On Sat, May 14, 2011 at 08:25:13AM +0200, Matthias Bolte thus spake:
>>>
>>> 2011/5/14 Jason Helfman <jhelfman(a)e-e.com>:
>>>>
>>>> On Fri, May 13, 2011 at 08:38:58AM +0200, Matthias Bolte thus spake:
>>>>>
>>>>> 2011/5/12 Jason Helfman <jhelfman(a)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:
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
.
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