libX11 declares extern _XGetRequest() since 1.4.99.1. SDL needs to define it to hide it from run-time linker. diff -r 6f013dd0add1 src/video/x11/SDL_x11sym.h --- a/src/video/x11/SDL_x11sym.h Mon Jan 16 14:27:47 2012 -0500 +++ b/src/video/x11/SDL_x11sym.h Tue Jan 17 14:40:44 2012 +0100 @@ -118,6 +118,7 @@ SDL_X11_SYM(void,_XEatData,(Display* a,unsigned long b),(a,b),) SDL_X11_SYM(void,_XFlush,(Display* a),(a),) SDL_X11_SYM(void,_XFlushGCCache,(Display* a,GC b),(a,b),) +SDL_X11_SYM(void *,_XGetRequest,(Display* a,CARD8 b,size_t c),(a,b,c),) SDL_X11_SYM(int,_XRead,(Display* a,char* b,long c),(a,b,c),return) SDL_X11_SYM(void,_XReadPad,(Display* a,char* b,long c),(a,b,c),) SDL_X11_SYM(void,_XSend,(Display* a,_Xconst char* b,long c),(a,b,c),)