Celeb Glow
general | March 17, 2026

Undefined Symbol Error when running SDL program

I've recently started playing around with SDL, following some tutorials online. I got a basic test program going, and it compiled fine, and it ran fine until recently. Starting about two days ago, trying to run the binary (The same binary, not re-compiled) throws the following error:

./sdltest: symbol lookup error: /usr/local/lib/libSDL-1.2.so.0: undefined symbol: _XGetRequest

I'm fairly confident I didn't install or remove anything since the program stopped working. I'm running 12.10 (Have been since before I got this error, so I'm pretty sure it's not a 12.10 bug), and I've been compiling with the following commands (Extracted from my makefile):

g++ -c -o main.o main.cpp
g++ -c -o CApp.o CApp.cpp
g++ main.o CApp.o -o sdltest -lSDL

Does anybody have any idea what went wrong, and what I might be able to do to fix it?

2 Answers

Still not sure why this was happening with SDL1.2, but I suspect it's probably related to the below:

I removed SDL1.2 and downloaded SDL2 instead. It turns out that a 2012 update to X11 added a dynamic symbol for _XGetRequest, which is what was causing my problem in SDL2. To fix the issue, I downloaded and installed SDL2 from the official Mercurial repository, rather than from the Ubuntu package manager.

you may find this Slackware based response helpful to a similar question. It was solved.

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

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