On 14 April 2015 at 14:38, Thomas Huth <th...@redhat.com> wrote: > Am Wed, 8 Apr 2015 21:02:49 +0100 > schrieb Peter Maydell <peter.mayd...@linaro.org>: > >> The second argument of g_base64_decode() is a 'gsize *', not a >> 'size_t *'. Some compilation environments (like building 32-bit PPC >> binaries on a PPC64 system) will complain about the mismatch: >> >> CC qga/commands-posix.o >> qga/commands-posix.c: In function 'qmp_guest_set_user_password': >> qga/commands-posix.c:1908:5: error: passing argument 2 of 'g_base64_decode' >> from incompatible pointer type [-Werror] >> In file included from /usr/include/glib-2.0/glib.h:37:0, >> from qga/commands-posix.c:14: >> /usr/include/glib-2.0/glib/gbase64.h:49:9: note: expected ‘gsize *’ but >> argument is of type ‘size_t *’ >> >> (We previously fixed errors of this type in commit 3d1bba20.) >> >> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> >> --- >> qga/commands-posix.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/qga/commands-posix.c b/qga/commands-posix.c >> index ba8de62..9fde348 100644 >> --- a/qga/commands-posix.c >> +++ b/qga/commands-posix.c >> @@ -1901,7 +1901,7 @@ void qmp_guest_set_user_password(const char *username, >> int status; >> int datafd[2] = { -1, -1 }; >> char *rawpasswddata = NULL; >> - size_t rawpasswdlen; >> + gsize rawpasswdlen; >> char *chpasswddata = NULL; >> size_t chpasswdlen; >> > > I've just ran into this issue as well on my x86 laptop when playing > around with "--extra-cflags=-m32"... so should this be fixed for the > 2.3 release already? I didn't spot your patch on the master branch > yet...
No, this is not-for-2.3. I think that the issue here is that merely adding -m32 isn't sufficient, because pkg-config when run by configure will end up pointing at a bunch of incorrect glib includes (for x86-64, not i386). So the actual solution is to give configure the right pkg-config, and then gsize and size_t are the same. There's a patch by John Snow for configure on-list for that. -- PMM