> 2011/5/14 Jason Helfman <jhelfman(a)e-e.com>:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA256
>>
>> On Sat, May 14, 2011 at 09:36:17AM +0200, Matthias Bolte thus spake:
>>>2011/5/14 Jason Helfman <jhelfman(a)e-e.com>:
>>>> 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:
>>>
>>>> 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
>>>
>>
>> Try altering the LIB_DEPENDS to this:
>>
>> LIB_DEPENDS+= curl:${PORTSDIR}/ftp/curl \
>> gcrypt:${PORTSDIR}/security/libgcrypt \
>> xml2:${PORTSDIR}/textproc/libxml2 \
>> gnutls:${PORTSDIR}/security/gnutls
>>
>>
>> And rebuild. To test, you could run:
>> make lib-depends (this will just check if you meet the library
>> dependencies)
>
> Compiles fine now.
>
> Matthias
>
>
does a make install work, and does it function as a library?
Thanks!
Yes works. I can use virsh and connect to libvirtd on another box. The
only problem I currently have is that virsh fails to enter interactive
mode because sysconf(_SC_GETPW_R_SIZE_MAX) fails, but we'll get that
fixed.
Matthias