-   Slackware (
-   - from slackware64-current "undefined symbol" _XGetRequest (

nates1 04-03-2013 11:35 AM from slackware64-current "undefined symbol" _XGetRequest
After upgrading to sdl-1.2.15-x86_64-1 I get failed: /usr/lib64/ undefined symbol: _XGetRequest

Specifically when running /opt/VirtualBox/
Whole error is:
VirtualBox: supR3HardenedMainGetTrustedMain: dlopen("/opt/VirtualBox/",) failed: /usr/lib64/ undefined symbol: _XGetRequest

Sure enough:
# objdump -T /usr/lib64/ |grep XGetRe
0000000000000000 DF *UND* 0000000000000000 _XGetRequest

sdl-1.2.15-x86_64-1.txz (from slackware64-current)
/usr/lib64/ -> (Not work)

sdl-1.2.14-x86_64-5.txz (from slackware64-14.0)
/usr/lib64/ -> (works)

Is sdl-1.2.15 missing something?

fskmh 04-03-2013 02:49 PM


fskmh@workstation:/usr/local/src/SDL-1.2.15> grep -r XGetReq
src/video/x11/SDL_x11sym.h: * libX11 added _XGetRequest, and macros use it behind the scenes.
src/video/x11/SDL_x11sym.h:SDL_X11_SYM(void *,_XGetRequest,(Display* a,CARD8 b,size_t c),(a,b,c),return)
src/video/x11/SDL_x11dyn.c:static void *SDL_XGetRequest_workaround(Display* dpy, CARD8 type, size_t len)
src/video/x11/SDL_x11dyn.c:              *  that _XGetRequest() is available, even on older systems.
src/video/x11/SDL_x11dyn.c:                    p_XGetRequest = SDL_XGetRequest_workaround;

Looks like this symbol comes from libX11, and libSDL definitely links to it:


fskmh@workstation:~> ldd /usr/lib64/ (0x00007fff0d22a000) => /lib64/ (0x00007f599f143000) => /usr/lib64/ (0x00007f599ef39000) => /usr/lib64/ (0x00007f599ed28000) => /usr/lib64/ (0x00007f599eb1f000) => /usr/lib64/ (0x00007f599e7e6000) => /usr/lib64/ (0x00007f599e5c8000) => /usr/lib64/ (0x00007f599e3c5000) => /usr/lib64/ (0x00007f599e1bf000) => /lib64/ (0x00007f599dfbb000) => /usr/lib64/ (0x00007f599dd42000) => /lib64/ (0x00007f599db25000) => /lib64/ (0x00007f599d75e000)
        /lib64/ (0x00007f599f744000)

On my slack64-current, libX11-1.5.0 appears to originate from Slackware 14 release.

nates1 04-08-2013 09:40 AM

Thanks to fskmh. That lead me on the right track of upgrading libX11, and others while at it. Didn't even think of it as I don't run X locally, only over SSH.
Now I know how to trace lib dependencies more.

All times are GMT -5. The time now is 06:51 AM.