2.6.26-1-amd64 #1 SMP Sat Jan 10 17:57:00 UTC 2009 x86_64 GNU/Linux
$ gcc --version
gcc (Debian 4.3.2-1.1) 4.3.2
$ X -version
X.Org X Server 1.4.2
Release Date: 11 June 2008
X Protocol Version 11, Revision 0
Build Operating System: Linux Debian (xorg-server 2:1.4.2-10.lenny2)
~/joymouse-0.5$ ./configure --prefix=/usr/local/stow/joymouse-0.5
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for a BSD-compatible install... /usr/bin/install -c
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking linux/joystick.h usability... yes
checking linux/joystick.h presence... yes
checking for linux/joystick.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking math.h usability... yes
checking math.h presence... yes
checking for math.h... yes
checking for X... no
checking for pow in -lm... yes
checking for XTestFakeKeyEvent in -lXtst... no
checking for XFlush in -lX11... yes
checking if 1=2... no, thanks heaven
checking for pow... yes
checking for abs... yes
checking for perror... yes
checking for ioctl... yes
checking for getopt... yes
checking for usleep... yes
checking for fork... yes
checking for signal... yes
checking for mkfifo... yes
checking for XTestFakeKeyEvent... no
checking for XFlush... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: executing depfiles commands
~/joymouse-0.5$ make
make all-recursive
make[1]: Entering directory `/home/kaitlyn/joymouse-0.5'
Making all in src
make[2]: Entering directory `/home/kaitlyn/joymouse-0.5/src'
source='joymouse.c' object='joymouse.o' libtool=no \
depfile='.deps/joymouse.Po' tmpdepfile='.deps/joymouse.TPo' \
depmode=gcc3 /bin/sh ../depcomp \
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -c `test -f 'joymouse.c' || echo './'`joymouse.c
source='xkey.c' object='xkey.o' libtool=no \
depfile='.deps/xkey.Po' tmpdepfile='.deps/xkey.TPo' \
depmode=gcc3 /bin/sh ../depcomp \
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -c `test -f 'xkey.c' || echo './'`xkey.c
gcc -g -O2 -o joymouse joymouse.o xkey.o -lX11 -lm
xkey.o: In function `SendKey':
/home/kaitlyn/joymouse-0.5/src/xkey.c:44: undefined reference to `XTestFakeKeyEvent'
collect2: ld returned 1 exit status
make[2]: *** [joymouse] Error 1
make[2]: Leaving directory `/home/kaitlyn/joymouse-0.5/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/kaitlyn/joymouse-0.5'
make: *** [all] Error 2
checking for X... no is resolved by installing the libxt-dev package, but the src/xkey.c:44: undefined reference to `XTestFakeKeyEvent' error remains. The checking for XTestFakeKeyEvent... no is correct (the .h file does not include it), but there is no #ifdef in the .c to check. If the program cannot work with XTestFakeKeyEvent, then an error should have occurred in the configure stage and the requirement documented in README or INSTALL.