2
votes

I've tried to compile this X11 server file:

https://github.com/dnschneid/crouton/blob/master/src/fbserver.c

I executed 'gcc fbserver.o -lXtst -lX11', which results in the following errors:

/usr/bin/ld: fbserver.o: undefined reference to symbol 'XShmGetImage' //usr/lib/x86_64-linux-gnu/libXext.so.6: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status

However if I include -lXext - 'gcc fbserver.o -lXext -lXtst -lX11', it doesn't compile:

fbserver.o: In function `register_damage':
fbserver.c:(.text+0x260e): undefined reference to `XDamageCreate'
fbserver.o: In function `init_display':
fbserver.c:(.text+0x26d9): undefined reference to `XDamageQueryExtension'
fbserver.c:(.text+0x2713): undefined reference to `XFixesQueryExtension'
fbserver.c:(.text+0x2824): undefined reference to `XFixesSelectCursorInput'
fbserver.o: In function `write_cursor':
fbserver.c:(.text+0x3b68): undefined reference to `XFixesGetCursorImage'
collect2: error: ld returned 1 exit status

Thank you for your time

1

1 Answers

2
votes

This command works for me:

gcc fbserver.c -lX11 -lXext -lXdamage -lXfixes -lXtst

XDamageCreate requires -lXdamage, and XFixesQueryExtension requires -lXfixes.