[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Libvir] libvirt on OS X Leopard 10.5.1



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I spent the weekend attempting to get libvirt working on OS X Leopard 10.5.1. I was able to get it to compile, but not connect to libvirtd running on either my KVM or Xen servers. Here are the instructions for getting it to compile:

1. Download libvirt-0.4.0 from the mirrors.

2. Use macports to install pkgconfig and gnutls

3. Configure your source:

./configure --without-xen --without-qemu

4. Replace instances of 'hyper' in qemu/remote_protocol.x with 'long' and then follow the instructions on http://libvirt.org/windows.html to regen XDR structures.

5. Edit '/usr/include/net/if.h' and add the following include:

  #include <net/if_var.h>
  #include <sys/types.h>

  //
  // EDIT: akutz
  //
  #include <sys/socket.h>

6. Create a symlink for 'malloc.h' so the libvirt source can find it:

sudo ln -s /usr/include/malloc/malloc.h /usr/include/malloc.h

7. Add a header to "src/remote_internal.c":

  //
  // EDIT: akutz
  //
  #include <sys/un.h>

8. The version-script parameter of ld is not portable to OS X. Edit 'src/Makefile':

  #
  # EDIT: akutz
  #
#libvirt_la_LDFLAGS = -Wl,--version-script=$(srcdir)/ libvirt_sym.version \
  #                     -version-info 4:0:4 \
  #                    $(COVERAGE_CFLAGS:-f%=-Wc,-f%) \

  libvirt_la_LDFLAGS = -Wl, \
                       -version-info 4:0:4 \
                      $(COVERAGE_CFLAGS:-f%=-Wc,-f%) \

9. Replace the distribution copy of libread.dylib with the one from Macports or else you will get errors about missing symbols (thread starts here http://www.mail-archive.com/macports-dev lists macosforge org/msg00729.html) :

sudo mv /usr/lib/libreadline.dylib /usr/lib/libreadline.dylib.dist
sudo ln -s /opt/local/lib/libreadline.dylib /usr/lib/libreadline.dylib

10. The sources should now build and install.

At this point any attempt to connect to a remote host results in the thread dying and OS X catching the exception with the following report:

<beginReport>
Process:         Python [57356]
Path: /System/Library/Frameworks/Python.framework/Versions/ 2.5/Resources/Python.app/Contents/MacOS/Python
Identifier:      Python
Version:         ??? (???)
Code Type:       X86 (Native)
Parent Process:  bash [59098]

Date/Time:       2008-01-21 16:48:52.228 -0600
OS Version:      Mac OS X 10.5.1 (9B18)
Report Version:  6

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000004
Crashed Thread:  0

Thread 0 Crashed:
0 libvirt.0.dylib 0x00412911 remoteAuthenticate + 1345 (remote_internal.c:3062) 1 libvirt.0.dylib 0x00414869 doRemoteOpen + 3593 (remote_internal.c:753) 2 libvirt.0.dylib 0x00415499 remoteOpen + 137 (remote_internal.c:860) 3 libvirt.0.dylib 0x00401438 do_open + 392 (libvirt.c: 579) 4 libvirtmod.so 0x000c0e06 libvirt_virConnectOpen + 102 (libvirt-py.c:1026)
5   org.python.python             	0x0018d826 PyEval_EvalFrameEx + 17116
6   org.python.python             	0x0018da08 PyEval_EvalFrameEx + 17598
7   org.python.python             	0x0018f47b PyEval_EvalCodeEx + 1638
8   org.python.python             	0x0018f568 PyEval_EvalCode + 87
9   org.python.python             	0x001a6a0c PyErr_Display + 1896
10  org.python.python             	0x001a7036 PyRun_FileExFlags + 135
11 org.python.python 0x001a89a2 PyRun_SimpleFileExFlags + 421
12  org.python.python             	0x001b3c23 Py_Main + 3095
13  org.python.pythonapp          	0x00001fca 0x1000 + 4042

Thread 0 crashed with X86 Thread State (32-bit):
  eax: 0x00000000  ebx: 0x004123e1  ecx: 0xbfffe826  edx: 0x00000000
  edi: 0x00000000  esi: 0xbfffe92c  ebp: 0xbfffea48  esp: 0xbfffe860
   ss: 0x0000001f  efl: 0x00010202  eip: 0x00412911   cs: 0x00000017
   ds: 0x0000001f   es: 0x0000001f   fs: 0x00000000   gs: 0x00000037
  cr2: 0x00000004

Binary Images:
0x1000 - 0x1ffe org.python.pythonapp 2.5.0 (2.5.0a0) <a2ccf04a940c23b34c33d7fe108d773e> /System/Library/Frameworks/ Python.framework/Versions/2.5/Resources/Python.app/Contents/MacOS/Python 0x49000 - 0x4bfff +libgpg-error.0.dylib ??? (???) /opt/local/ lib/libgpg-error.0.dylib 0xbb000 - 0xc2ff3 +libvirtmod.so ??? (???) <20dea38de64927c9e8b50a1fa240e067> /usr/local/lib/python2.5/site- packages/libvirtmod.so 0x118000 - 0x1e3ffb org.python.python 2.5 (2.5) <9786e5d8790a594bb7b3cdcf9a9d0b49> /System/Library/Frameworks/ Python.framework/Versions/2.5/Python 0x2f0000 - 0x2f7ff3 +libintl.8.dylib ??? (???) /opt/local/lib/ libintl.8.dylib 0x400000 - 0x424fef +libvirt.0.dylib ??? (???) <70af9029fa4c7accc04377f0f65c53ae> /usr/local/lib/libvirt.0.dylib 0x43b000 - 0x49bfff +libgnutls.26.dylib ??? (???) /opt/local/lib/ libgnutls.26.dylib 0x4b5000 - 0x4c2fe2 +libtasn1.3.dylib ??? (???) /opt/local/lib/ libtasn1.3.dylib 0x4c7000 - 0x528ff3 +libgcrypt.11.dylib ??? (???) <76bad0ad90909bf99f422f8bbfd61124> /opt/local/lib/libgcrypt.11.dylib 0x540000 - 0x637ff0 +libiconv.2.dylib ??? (???) /opt/local/lib/ libiconv.2.dylib 0x644000 - 0x654ffd +libz.1.dylib ??? (???) /opt/local/lib/libz. 1.dylib 0x65f000 - 0x661ffc apop.so ??? (???) <8e5cbfa49bbed80ed34f03e008e3e086> /usr/lib/sasl2/apop.so 0x665000 - 0x67dfe2 dhx.so ??? (???) <0831cf2893deaa2b5525ea7bfda17404> /usr/lib/sasl2/dhx.so 0x68c000 - 0x694fff digestmd5WebDAV.so ??? (???) <42e13c06e037f02eee71a43324169f62> /usr/lib/sasl2/digestmd5WebDAV.so 0x698000 - 0x69afff libanonymous.2.so ??? (???) <161902c9ed78dce78b61125c7c155f0f> /usr/lib/sasl2/libanonymous.2.so 0x69e000 - 0x6a0ffc libcrammd5.2.so ??? (???) <c917c89eefddcfcacf48c939c3af12aa> /usr/lib/sasl2/libcrammd5.2.so 0x6a4000 - 0x6adffb libdigestmd5.2.so ??? (???) <c8595204acd0e7cb362b33d008693019> /usr/lib/sasl2/libdigestmd5.2.so 0x6b1000 - 0x6b5fff libgssapiv2.2.so ??? (???) <a47ee23249e7c36aee418a6e7fd3a502> /usr/lib/sasl2/libgssapiv2.2.so 0x6bb000 - 0x6bdffc login.so ??? (???) <03d28ec908a6ed9abee1b25fe87716ef> /usr/lib/sasl2/login.so 0x6c1000 - 0x6c8ffc libotp.2.so ??? (???) <0b7c8cd165835331c586e49465ef1186> /usr/lib/sasl2/libotp.2.so 0x6d2000 - 0x6d4ffc libplain.2.so ??? (???) <5992f1149ff6cc7fadafa2bfd4ecc00a> /usr/lib/sasl2/libplain.2.so 0x6d8000 - 0x6ddffc libpps.so ??? (???) <ae02d7b23951bddb4db705b2d632c6ac> /usr/lib/sasl2/libpps.so 0x6e3000 - 0x6e6fff mschapv2.so ??? (???) <8d5951f3d3a0565fd772ebec4d2054fb> /usr/lib/sasl2/mschapv2.so 0x6ea000 - 0x6ecffc shadow_auxprop.so ??? (???) <5137115453406a92cf514b65046a6b28> /usr/lib/sasl2/shadow_auxprop.so 0x6f2000 - 0x6f4ffd smb_lm.so ??? (???) <e9ad275441e15388bf580b1cdf55b430> /usr/lib/sasl2/smb_lm.so 0x6f8000 - 0x6faffc smb_nt.so ??? (???) <a7144a88919b4aea313caf6c4e86353a> /usr/lib/sasl2/smb_nt.so 0x6fe000 - 0x701ff0 smb_ntlmv2.so ??? (???) <ccfa6d0eafa992db95ad309e32c6d400> /usr/lib/sasl2/smb_ntlmv2.so 0x8fe00000 - 0x8fe2d883 dyld 95.3 (???) <81592e798780564b5d46b988f7ee1a6a> /usr/lib/dyld 0x90d29000 - 0x90e5bfe7 com.apple.CoreFoundation 6.5 (476) <8bfebc0dbad6fc33bea0fa00a1b9ec37> /System/Library/Frameworks/ CoreFoundation.framework/Versions/A/CoreFoundation 0x90e5c000 - 0x90e7aff3 com.apple.DirectoryService.Framework 3.5 (3.5) <899d8c9ee31b004a6ff73dab88982b1a> /System/Library/Frameworks/ DirectoryService.framework/Versions/A/DirectoryService 0x922a3000 - 0x92353fff edu.mit.Kerberos 6.0.11 (6.0.11) <33c25789baedcd70a7e24881775dd9ad> /System/Library/Frameworks/ Kerberos.framework/Versions/A/Kerberos 0x9244f000 - 0x924acffb libstdc++.6.dylib ??? (???) <04b812dcec670daa8b7d2852ab14be60> /usr/lib/libstdc++.6.dylib 0x92510000 - 0x926d9fef com.apple.security 5.0.1 (32736) <8c9eda0fcc1d8a571543025ac900715f> /System/Library/Frameworks/ Security.framework/Versions/A/Security 0x92f62000 - 0x92f80fff libresolv.9.dylib ??? (???) <54e6a08c2f108bdf5916fb483d51961b> /usr/lib/libresolv.9.dylib 0x93661000 - 0x9366fffd libz.1.dylib ??? (???) <5ddd8539ae2ebfd8e7cc1c57525385c7> /usr/lib/libz.1.dylib 0x936a2000 - 0x93783ff7 libxml2.2.dylib ??? (???) <450ec38b57fb46013847cce851001a2f> /usr/lib/libxml2.2.dylib 0x93d28000 - 0x93d2ffe9 libgcc_s.1.dylib ??? (???) <f53c808e87d1184c0f9df63aef53ce0b> /usr/lib/libgcc_s.1.dylib 0x94a5b000 - 0x94b93ff7 libicucore.A.dylib ??? (???) <afcea652ff2ec36885b2c81c57d06d4c> /usr/lib/libicucore.A.dylib 0x95a7f000 - 0x95b5efff libobjc.A.dylib ??? (???) <5eda47fec2d0e7853b3506aa1fd2dafa> /usr/lib/libobjc.A.dylib 0x9631e000 - 0x963d0ffb libcrypto.0.9.7.dylib ??? (???) <330b0e48e67faffc8c22dfc069ca7a47> /usr/lib/libcrypto.0.9.7.dylib 0x9642c000 - 0x9643bfff libsasl2.2.dylib ??? (???) <b9e1ca0b6612e280b6cbea6df0eec5f6> /usr/lib/libsasl2.2.dylib 0x9643c000 - 0x96466fef libauto.dylib ??? (???) <d468bc4a8a69343f1748c293db1b57fb> /usr/lib/libauto.dylib 0x96d8c000 - 0x96d8dfef libmathCommon.A.dylib ??? (???) /usr/lib/ system/libmathCommon.A.dylib 0x96d9a000 - 0x96ef4fe3 libSystem.B.dylib ??? (???) <8ecc83dc0399be3946f7a46e88cf4bbb> /usr/lib/libSystem.B.dylib 0xfffe8000 - 0xfffebfff libobjc.A.dylib ??? (???) /usr/lib/ libobjc.A.dylib 0xffff0000 - 0xffff1780 libSystem.B.dylib ??? (???) /usr/lib/ libSystem.B.dylib
</beginReport>

Anyway, hopefully someone on the list can make heads or tails of why this is not working on OS X. I sure would love to be able to use libvirt instead of xenapi. Thanks!

- --
- -a


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iD8DBQFHlSG1Tg8lceyAqqQRAiD1AJ99NZC23AheQl36oGYU/mmjqILbtwCg07+i
/TT0j27cGU7krDDMk+hVX/k=
=P+Cg
-----END PGP SIGNATURE-----


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]