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