At 06/29/2011 11:04 PM, Eric Blake Write:
On 06/29/2011 05:18 AM, Wen Congyang wrote:
> When I build libvirt, I meet the following error:
> make[3]: Entering directory `/home/wency/rpmbuild/BUILD/libvirt-0.9.2/daemon'
> CC libvirtd-libvirtd.o
> CC libvirtd-remote.o
> remote.c: In function 'remoteDispatchAuthPolkit':
> remote.c:2043: error: invalid initializer
> make[3]: *** [libvirtd-remote.o] Error 1
>
> This patch can fix the problem. But I do not know whether it is right.
This sounds highly related to Matthias' issue:
https://www.redhat.com/archives/libvir-list/2011-June/msg01484.html
What version of systemtap headers and gcc are you using, that produce
this error?
I use RHEL6RC, and the version of systemtap headers and gcc are:
# rpm -qa 'systemtap*'
systemtap-sdt-devel-1.2-9.el6.x86_64
systemtap-runtime-1.2-9.el6.x86_64
systemtap-1.2-9.el6.x86_64
# rpm -q gcc
gcc-4.4.4-13.el6.x86_64
> +++ b/daemon/remote.c
> @@ -2041,7 +2041,7 @@ remoteDispatchAuthPolkit(virNetServerPtr server
ATTRIBUTE_UNUSED,
> goto authdeny;
> }
> PROBE(CLIENT_AUTH_ALLOW, "fd=%d, auth=%d, username=%s",
> - virNetServerClientGetFD(client), REMOTE_AUTH_POLKIT, ident);
> + virNetServerClientGetFD(client), REMOTE_AUTH_POLKIT, (char *)ident);
If a cast really helps matters, I'd almost rather hide it within the
#define PROBE() than make callers have to worry about it, but I'm
reluctant to add a cast without knowing exactly why you are hitting
compilation failure.