[libvirt-users] OSX rpcgen problem

Brian Candler B.Candler at pobox.com
Sat Feb 9 18:35:41 UTC 2013


Trying to build the virtualbox-4.2 branch from git://pipo.sk/pipo/libvirt.git
under OSX 10.7, I get the following build error:

...
  CC       timegm.lo
  CC       vasnprintf.lo
  CCLD     libgnu.la
/usr/bin/ranlib: file: .libs/libgnu.a(fd-hook.o) has no symbols
/usr/bin/ranlib: file: .libs/libgnu.a(threadlib.o) has no symbols
ranlib: file: .libs/libgnu.a(fd-hook.o) has no symbols
ranlib: file: .libs/libgnu.a(threadlib.o) has no symbols
  GEN      charset.alias
  GEN      ref-add.sed
  GEN      ref-del.sed
Making all in include
Making all in libvirt
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in src
  GEN      util/virkeymaps.h
  GEN      locking/lock_protocol.h
  GEN      locking/lock_protocol.c
  GEN      locking/lock_daemon_dispatch_stubs.h
  GEN      lxc/lxc_protocol.h
    unsigned hyper initpid;
^^^^^^^^^^^^^^^^^^^^^^^^^^
lxc/lxc_protocol.x, line 18: expected ';'
cannot shutdown /usr/bin/rpcgen:  at ./rpc/genprotocol.pl line 124.
make[2]: *** [lxc/lxc_protocol.h] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

I built using the following command line:
  PATH=/usr/local/Cellar/gettext/0.18.2/bin:$PATH ./autogen.sh --prefix=$HOME/usr
and gettext was installed using homebrew.

/usr/bin/rpcgen is from Xcode 4.6.2, and the problem is visible just by
running this by itself:

$ rpcgen -h src/lxc/lxc_protocol.x
/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#ifndef _LXC_PROTOCOL_H_RPCGEN
#define _LXC_PROTOCOL_H_RPCGEN

#define RPCGEN_VERSION  199506

#include <rpc/rpc.h>


enum virLXCProtocolExitStatus {
        VIR_LXC_PROTOCOL_EXIT_STATUS_ERROR = 0,
        VIR_LXC_PROTOCOL_EXIT_STATUS_SHUTDOWN = 1,
        VIR_LXC_PROTOCOL_EXIT_STATUS_REBOOT = 2,
};
typedef enum virLXCProtocolExitStatus virLXCProtocolExitStatus;
#ifdef __cplusplus
extern "C" bool_t xdr_virLXCProtocolExitStatus(XDR *, virLXCProtocolExitStatus*);
#elif __STDC__
extern  bool_t xdr_virLXCProtocolExitStatus(XDR *, virLXCProtocolExitStatus*);
#else /* Old Style C */
bool_t xdr_virLXCProtocolExitStatus();
#endif /* Old Style C */


struct virLXCProtocolExitEventMsg {
        enum virLXCProtocolExitStatus status;
};
typedef struct virLXCProtocolExitEventMsg virLXCProtocolExitEventMsg;
#ifdef __cplusplus
extern "C" bool_t xdr_virLXCProtocolExitEventMsg(XDR *, virLXCProtocolExitEventMsg*);
#elif __STDC__
extern  bool_t xdr_virLXCProtocolExitEventMsg(XDR *, virLXCProtocolExitEventMsg*);
#else /* Old Style C */
bool_t xdr_virLXCProtocolExitEventMsg();
#endif /* Old Style C */

    unsigned hyper initpid;
^^^^^^^^^^^^^^^^^^^^^^^^^^
src/lxc/lxc_protocol.x, line 18: expected ';'

Perhaps Apple's version of rpcgen is broken? If so, I guess I'll have to
wait for a tarball before I can try this out.  Unfortunately I upgraded to
virtualbox 4.2 and this means I've lost the ability to control it using
virsh :-(

Regards,

Brian.




More information about the libvirt-users mailing list