I'm following the instructions here but I get an error when I run sudo make and sudo make install. Any ideas on how to fix this error:

make  all-recursive
make[1]: Entering directory '/home/me/xserver-xorg-input-synaptics'
Making all in include
make[2]: Entering directory '/home/me/xserver-xorg-input-synaptics/include'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/me/xserver-xorg-input-synaptics/include'
Making all in src
make[2]: Entering directory '/home/me/xserver-xorg-input-synaptics/src'
  CC       synaptics.lo
  CC       synproto.lo
In file included from /usr/include/string.h:630:0,
                 from /usr/include/xorg/os.h:53,
                 from /usr/include/xorg/misc.h:116,
                 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:590:1: error: expected identifier or ‘(’ before ‘__extension__’
 strndup(const char *str, size_t n);
Makefile:515: recipe for target 'synproto.lo' failed
make[2]: *** [synproto.lo] Error 1
make[2]: Leaving directory '/home/me/xserver-xorg-input-synaptics/src'
Makefile:511: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/me/xserver-xorg-input-synaptics'
Makefile:420: recipe for target 'all' failed
make: *** [all] Error 2

1 Answer 1


I just came across this as well and have found the following:


which then led to me finding this:


Although it is from a few years ago, it appears to be the same issue.

To summarise the two above links, to get the driver to work with the newer versions of glibc you must modify 3 files in the git repo that you cloned with the below command:

$ git clone https://github.com/Chosko/xserver-xorg-input-synaptics.git

These files are all located in the src directory and are named as follows:

  • eventcomm.h
  • ps2comm.h
  • synproto.h

You need to add #include <xorg-server.h> to the above files (I've put it above the others includes in each) and then re-run the following:

$ ./autogen.sh $ ./configure --exec_prefix=/usr $ make $ sudo make install

I don't know if this is the right way to go about it but it has worked for me!

Don't blame me if your touchpad doesn't work anymore though!

  • Thanks! It worked. The part you said i should add to those files already existed a few lines after the header comments, so I just commented it out and added it right at the top.
    – Mr. T
    May 7, 2016 at 1:35
  • How do I now achieve all the 3 4 5 finger gestures?
    – Mr. T
    May 7, 2016 at 1:36
  • I haven't got them working yet either so I can't help you on that one yet. May 7, 2016 at 8:25
  • I was able to use 3 fingers to switch desktops horizontally. But that's only when I run the perl ~/xSwipe-master/xSwipe.pl command. I'll find a way to make the command run when I start up my laptop.
    – Mr. T
    May 8, 2016 at 0:28
  • What laptop are you on? I didn't even manage to get xSwipe to work on my Dell XPS 13 (9350) May 8, 2016 at 10:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.