xserver-xorg-input-synaptics icon indicating copy to clipboard operation
xserver-xorg-input-synaptics copied to clipboard

Make failing on Ubuntu 15.04

Open amps211 opened this issue 9 years ago • 6 comments

make[2]: Entering directory '/home/jb/Projects/xserver-xorg-input-synaptics/src'
  CC       synproto.lo
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/xf86str.h:37,
                 from /usr/include/xorg/xf86.h:44,
                 from /usr/include/xorg/xf86Xinput.h:54,
                 from synproto.h:36,
                 from synproto.c:24:
/usr/include/xorg/os.h:541:1: error: expected identifier or '(' before '__extension__'
 strndup(const char *str, size_t n);
 ^
Makefile:504: recipe for target 'synproto.lo' failed
make[2]: *** [synproto.lo] Error 1
make[2]: Leaving directory '/home/jb/Projects/xserver-xorg-input-synaptics/src'

Looks like os.h duplicates prototypes for some system functions unless xorg-server.h is included first, according to this discussion http://lists.x.org/archives/xorg-devel/2014-July/043067.html

Currently os.h cannot be included safely (without it creating duplicate prototypes for system functions) without first including one of: dix-config.h xorg-server.h xorg-config.h

amps211 avatar Jul 13 '15 12:07 amps211

same problem on Ubuntu 15.10. Any workaround?

mscalone avatar Oct 31 '15 02:10 mscalone

+1 this, 15.10 trying to build a newer version of the preinstalled driver. Same error.

Anfa-am avatar Nov 07 '15 04:11 Anfa-am

Same issue in 15.10 under Gnome 3.16.4

mdotshell avatar Nov 08 '15 13:11 mdotshell

Same issue in 15.10-gnome

ruilinchu avatar Dec 17 '15 20:12 ruilinchu

The workaround is to add #include <xorg-server.h> to the top of synproto.h

This let make finish without errors (but with warnings).

aruth2 avatar Apr 11 '16 13:04 aruth2

Check your error message for file name and line number. In your case -

/usr/include/xorg/os.h:541:1:....

File - os.h File Path - /usr/include/xorg/os.h Line No - 541

Use your favourite text editor to open the file -

sudo vim /usr/include/xorg/os.h

So 541 is the line which is causing issue, comment it. Now you have to comment out line 540 too, why? The reason is it's a combined logic inside the if block as you can see in below:

#ifndef HAVE_STRNDUP <----- If block starts
extrn _X_EXPORT char * <----------- Comment out this line using // in front
strndup(const char *str, size_t n); <----------- Comment out this line using // in front
#endif <------ If blocks ends

Dev-Dipesh avatar May 26 '16 13:05 Dev-Dipesh