[libvirt] remote_protocol.c not compiling

I am experimenting with some new APIs in Libvirt 0.6.5 and added the changes to remote_protocol.x . I'm getting a make error of undefined reference in ./.libs/libvirt.so to the xdr arguments. I think it is related to the fact that a new remote_protocol.c is not being generated. I've tried the obvious "make clean" and "make" and "make -C qemud remote_protocol.c." But it has no affect. [nagin@gorky trunk]$ make -C qemud remote_protocol.c make: Entering directory `/gpfs/reservoir/nagin/workspace/LIBVIRT/LIBVIRT_0_6_5/trunk/qemud' make: Nothing to be done for `remote_protocol.c'. make: Leaving directory `/gpfs/reservoir/nagin/workspace/LIBVIRT/LIBVIRT_0_6_5/trunk/qemud' Any suggestions? Kenneth Nagin

Kenneth Nagin wrote:
I am experimenting with some new APIs in Libvirt 0.6.5 and added the changes to remote_protocol.x .
I'm getting a make error of undefined reference in ./.libs/libvirt.so to the xdr arguments. I think it is related to the fact that a new remote_protocol.c is not being generated.
I've tried the obvious "make clean" and "make" and "make -C qemud remote_protocol.c." But it has no affect.
[nagin@gorky trunk]$ make -C qemud remote_protocol.c make: Entering directory `/gpfs/reservoir/nagin/workspace/LIBVIRT/LIBVIRT_0_6_5/trunk/qemud' make: Nothing to be done for `remote_protocol.c'. make: Leaving directory `/gpfs/reservoir/nagin/workspace/LIBVIRT/LIBVIRT_0_6_5/trunk/qemud'
Any suggestions?
It's necessary to run 'make rpcgen' in the qemud directory to create the .c and .h files required by the remote protocol code. This must be done on a Linux host using the GLibC rpcgen program. Other rpcgen versions may generate code which results in bogus compile time warnings. See: http://www.libvirt.org/api_extension.html#wireproto and in general: http://www.libvirt.org/api_extension.html Dave

Thanks this was extremely helpful. I wish I had this when I first started working with libvirt. Incidental, I have not shared the api that I created with the libvirt community because I think it was premature and that there is a better approach than the creating a new api. Specifically, I think a better approach is to expand the existing xml for defining domains and storage. When I'm ready I'll share the ideas with the rest of the libvirt community. -- Kenneth Nagin
Dave Allan <dallan@redhat.com> wrote on 05/08/2009 16:40:10:
Kenneth Nagin wrote:
I am experimenting with some new APIs in Libvirt 0.6.5 and added the changes to remote_protocol.x .
I'm getting a make error of undefined reference in ./.libs/libvirt.so to the xdr arguments. I think it is related to the fact that a new remote_protocol.c is not being generated.
I've tried the obvious "make clean" and "make" and "make -C qemud remote_protocol.c." But it has no affect.
[nagin@gorky trunk]$ make -C qemud remote_protocol.c make: Entering directory `/gpfs/reservoir/nagin/workspace/LIBVIRT/LIBVIRT_0_6_5/trunk/qemud' make: Nothing to be done for `remote_protocol.c'. make: Leaving directory `/gpfs/reservoir/nagin/workspace/LIBVIRT/LIBVIRT_0_6_5/trunk/qemud'
Any suggestions?
It's necessary to run 'make rpcgen' in the qemud directory to create the .c and .h files required by the remote protocol code. This must be done on a Linux host using the GLibC rpcgen program. Other rpcgen versions may generate code which results in bogus compile time warnings.
See:
http://www.libvirt.org/api_extension.html#wireproto
and in general:
http://www.libvirt.org/api_extension.html
Dave
participants (2)
-
Dave Allan
-
Kenneth Nagin