Bug#782272: FTBFS with libc6-dev >= 2.21: /usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__' strndup(const char *str, size_t n);
Package: xserver-xorg-input-vmmouse
Version: 1:13.0.0
Severity: minor
Tags: patch upstream fixed-upstream
Hi,
We noticed in Ubuntu that vmmouse fails with the new glibc which is in
experimental currently:
sbuild -d experimental --add-depends="libc6-dev (>= 2.20)" -A --build-dep-resolver=aptitude xserver-xorg-input-vmmouse_13.0.0-1.dsc
make[3]: Entering directory '/«PKGBUILDDIR»/build/shared'
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../shared -I.. -fvisibility=hidden -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/xorg -I/usr/include/X11/dri -g -O2 -c -o vmmouse_client.lo ../../shared/vmmouse_client.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../shared -I.. -fvisibility=hidden -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/xorg -I/usr/include/X11/dri -g -O2 -c ../../shared/vmmouse_client.c -fPIC -DPIC -o .libs/vmmouse_client.o
In file included from /usr/include/string.h:634:0,
from /usr/include/xorg/os.h:53,
from /usr/include/xorg/misc.h:115,
from /usr/include/xorg/window.h:50,
from /usr/include/xorg/globals.h:7,
from /usr/include/xorg/opaque.h:34,
from /usr/include/xorg/xf86_OSproc.h:127,
from ../../shared/vmmouse_client.h:42,
from ../../shared/vmmouse_client.c:38:
/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__'
strndup(const char *str, size_t n);
^
make[3]: *** [vmmouse_client.lo] Error 1
Fixed by the attached upstream patch.
Cheers,
--
Iain Lane [ iain@orangesquash.org.uk ]
Debian Developer [ laney@debian.org ]
Ubuntu Developer [ laney@ubuntu.com ]
>From 1cbbc03c4b37d57760c57bd2e0b0f89d744a5795 Mon Sep 17 00:00:00 2001
From: Stefan Dirsch <sndirsch@suse.de>
Date: Tue, 7 Oct 2014 11:32:01 +0200
Subject: [PATCH] vmmouse_client.h: Include xorg-server.h before xf86_OSproc.h
xf86_OSproc.h cannot be included without first including xorg-server.h.
Without this the build fails on systems with the latest glibc,
throwing this error:
In file included from /usr/include/string.h:634:0,
from /usr/include/xorg/os.h:53,
from /usr/include/xorg/misc.h:115,
from /usr/include/xorg/window.h:50,
from /usr/include/xorg/globals.h:7,
from /usr/include/xorg/opaque.h:34,
from /usr/include/xorg/xf86_OSproc.h:127,
from vmmouse_client.h:42,
from vmmouse_client.c:38:
/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__'
strndup(const char *str, size_t n);
This is caused by HAVE_STRNDUP not being set (it is set from xorg-server.h),
causing os.h to redefine it.
Signed-off-by: Stefan Dirsch <sndirsch@suse.de>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Acked-by: Thomas Hellstrom <thellstrom@vmware.com>
---
shared/vmmouse_client.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/shared/vmmouse_client.h b/shared/vmmouse_client.h
index b01bf08..1de51e5 100644
--- a/shared/vmmouse_client.h
+++ b/shared/vmmouse_client.h
@@ -39,6 +39,7 @@
#ifndef _VMMOUSE_CLIENT_H_
#define _VMMOUSE_CLIENT_H_
+#include "xorg-server.h"
#include "xf86_OSproc.h"
/*
--
2.1.4
Reply to: