[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: