Help With Compiling Dynamic Libraries Into Static Binary


TrevorBradley

Active Member
Joined
Nov 6, 2007
Messages
732
Hey guys, I know this isn't a pandora specific issue, but I hope I could get some help.

A week back I distributed a Linux binary of my alpha. Unlike the windows version where I could include a bunch of dll files in the archive, I told people they had to download and install a number of SDL libraries. I also had to include a .so file for SDL_gfx. It was quite a mess for the poor Linux users and quite unfair for them.

What I'd like to be able to do is to compile a static binary for linux, where the required libraries; SDL, SDL_ttf, SDL_mixer, SDL_net, SDL_gfx, SpriG, SDL_image, pthread etc are compiled into the program, but the binary is still dependent on other Linux binaries (particularly X11 and glibc).

Here's an example of what happens when I attempt to compile my binary with the -static flag. (If I compile without I get no errors):

Any ideas what might be going wrong? I see glibc and X11 errors in there, but I'm stumped as to where to start. I know the order of the parameters after g++ is critical, but the errors suggest I am grabbing the libraries I want, I'm just missing a whole bunch more.

Also, if I manage to compile the binary in this fashion, will it work for 64 bit linux users?

Thanks in advance for any help you can provide!

CODE
> g++ -static -o GalacticArtifact StringParser.o CaptainNames.o SoundSystem.o MusicSystem.o Font.o NumberGenerator.o KeyPressed.o FrameTimer.o Coords.o Artifact.o Ship.o View.o Star.o Information.o Messages.o AlienInterface.o ScreenSurface.o ShipSurface.o CargoSurface.o MessageSurface.o MinimapSurface.o OverviewSurface.o GalaxySurface.o RadarSurface.o AlienInterfaceSurface.o InformationSurface.o VictorySurface.o NetworkConnection.o Network.o NetworkEvent.o GalacticArtifact.o -lsprig -lSDL_net -lSDL_image -lSDL_ttf -lSDL_mixer -lSDL_gfx -lSDL -lpthread
/usr/local/lib/libSDL_mixer.a(mdriver.o)(.text+0x17c4): In function `MD_DropPrivileges':
: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/local/lib/libSDL_net.a(SDLnet.o)(.text+0x14f): In function `SDLNet_ResolveIP':
/root/Install/SDL_net-1.2.7/SDLnet.c:372: warning: Using 'gethostbyaddr' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/local/lib/libSDL_net.a(SDLnet.o)(.text+0x10d): In function `SDLNet_ResolveHost':
/root/Install/SDL_net-1.2.7/SDLnet.c:345: warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0x69): In function `TTF_Init':
/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:203: undefined reference to `FT_Init_FreeType'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0x22e): In function `Find_Glyph':
/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:427: undefined reference to `FT_Load_Glyph'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0x3b4):/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:495: undefined reference to `FT_Render_Glyph'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0x582):/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:425: undefined reference to `FT_Get_Char_Index'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0x602):/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:488: undefined reference to `FT_Outline_Transform'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0xb35): In function `TTF_CloseFont':
/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:725: undefined reference to `FT_Done_Face'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0xc87): In function `TTF_OpenFontIndexRW':
/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:281: undefined reference to `FT_Open_Face'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0xcd1):/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:317: undefined reference to `FT_Set_Pixel_Sizes'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0xda3):/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:293: undefined reference to `FT_Set_Char_Size'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0xdc5):/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:302: undefined reference to `FT_MulFix'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0xde7):/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:303: undefined reference to `FT_MulFix'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0xe16):/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:305: undefined reference to `FT_MulFix'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0xe38):/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:306: undefined reference to `FT_MulFix'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0xe57):/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:307: undefined reference to `FT_MulFix'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0x12c2): In function `TTF_SizeUNICODE':
/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:958: undefined reference to `FT_Get_Kerning'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0x1805): In function `TTF_RenderUNICODE_Solid':
/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:1166: undefined reference to `FT_Get_Kerning'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0x1e6b): In function `TTF_RenderUNICODE_Shaded':
/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:1427: undefined reference to `FT_Get_Kerning'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0x24b3): In function `TTF_RenderUNICODE_Blended':
/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:1677: undefined reference to `FT_Get_Kerning'
/usr/local/lib/libSDL_ttf.a(SDL_ttf.o)(.text+0x287a): In function `TTF_Quit':
/root/Install/SDL_ttf-2.0.9/SDL_ttf.c:1806: undefined reference to `FT_Done_FreeType'
/usr/local/lib/libSDL.a(SDL_sysloadso.o)(.text+0xf): In function `SDL_LoadObject':
./src/loadso/dlopen/SDL_sysloadso.c:36: undefined reference to `dlopen'
/usr/local/lib/libSDL.a(SDL_sysloadso.o)(.text+0x16):./src/loadso/dlopen/SDL_sysloadso.c:37: undefined reference to `dlerror'
/usr/local/lib/libSDL.a(SDL_sysloadso.o)(.text+0x52): In function `SDL_LoadFunction':
./src/loadso/dlopen/SDL_sysloadso.c:46: undefined reference to `dlsym'
/usr/local/lib/libSDL.a(SDL_sysloadso.o)(.text+0x9b):./src/loadso/dlopen/SDL_sysloadso.c:53: undefined reference to `dlsym'
/usr/local/lib/libSDL.a(SDL_sysloadso.o)(.text+0xac):./src/loadso/dlopen/SDL_sysloadso.c:56: undefined reference to `dlerror'
/usr/local/lib/libSDL.a(SDL_sysloadso.o)(.text+0xdc): In function `SDL_UnloadObject':
./src/loadso/dlopen/SDL_sysloadso.c:65: undefined reference to `dlclose'
/usr/local/lib/libSDL.a(SDL_alsa_audio.o)(.text+0x2a): In function `UnloadALSALibrary':
./src/audio/alsa/SDL_alsa_audio.c:129: undefined reference to `dlclose'
/usr/local/lib/libSDL.a(SDL_alsa_audio.o)(.text+0x61): In function `LoadALSALibrary':
./src/audio/alsa/SDL_alsa_audio.c:139: undefined reference to `dlopen'
/usr/local/lib/libSDL.a(SDL_alsa_audio.o)(.text+0xab):./src/audio/alsa/SDL_alsa_audio.c:146: undefined reference to `dlvsym'
/usr/local/lib/libSDL.a(SDL_alsa_audio.o)(.text+0xd2):./src/audio/alsa/SDL_alsa_audio.c:149: undefined reference to `dlsym'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x26): In function `X11_Available':
./src/video/x11/SDL_x11video.c:78: undefined reference to `XOpenDisplay'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x38):./src/video/x11/SDL_x11video.c:80: undefined reference to `XCloseDisplay'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x4bd): In function `create_aux_windows':
./src/video/x11/SDL_x11video.c:327: undefined reference to `XInternAtom'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x59b):./src/video/x11/SDL_x11video.c:350: undefined reference to `XCreateWindow'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x5b9):./src/video/x11/SDL_x11video.c:357: undefined reference to `XSelectInput'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x60e):./src/video/x11/SDL_x11video.c:367: undefined reference to `XInternAtom'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x664):./src/video/x11/SDL_x11video.c:373: undefined reference to `XSendEvent'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x6cd):./src/video/x11/SDL_x11video.c:385: undefined reference to `XCreateWindow'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x6f0):./src/video/x11/SDL_x11video.c:397: undefined reference to `XSetWMHints'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x6f8):./src/video/x11/SDL_x11video.c:398: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x72a):./src/video/x11/SDL_x11video.c:403: undefined reference to `XSelectInput'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x75c):./src/video/x11/SDL_x11video.c:409: undefined reference to `XAllocClassHint'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x782):./src/video/x11/SDL_x11video.c:413: undefined reference to `XSetClassHint'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x78a):./src/video/x11/SDL_x11video.c:414: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x7fc):./src/video/x11/SDL_x11video.c:468: undefined reference to `XSetLocaleModifiers'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x84a):./src/video/x11/SDL_x11video.c:480: undefined reference to `XSetLocaleModifiers'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x863):./src/video/x11/SDL_x11video.c:481: undefined reference to `XOpenIM'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x894):./src/video/x11/SDL_x11video.c:495: undefined reference to `XSetLocaleModifiers'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x8d5):./src/video/x11/SDL_x11video.c:554: undefined reference to `XSetWMProtocols'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x8f9):./src/video/x11/SDL_x11video.c:337: undefined reference to `XDestroyWindow'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x949):./src/video/x11/SDL_x11video.c:379: undefined reference to `XGetWMHints'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x960):./src/video/x11/SDL_x11video.c:380: undefined reference to `XDestroyWindow'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x9f5):./src/video/x11/SDL_x11video.c:426: undefined reference to `XDisplayOfIM'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xa2a):./src/video/x11/SDL_x11video.c:435: undefined reference to `XCloseIM'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xa41):./src/video/x11/SDL_x11video.c:393: undefined reference to `XAllocWMHints'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xadb):./src/video/x11/SDL_x11video.c:542: undefined reference to `XCloseIM'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xb3b):./src/video/x11/SDL_x11video.c:538: undefined reference to `XUnsetICFocus'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xb4b):./src/video/x11/SDL_x11video.c:539: undefined reference to `XDestroyIC'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xb67):./src/video/x11/SDL_x11video.c:506: undefined reference to `XUnsetICFocus'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xb77):./src/video/x11/SDL_x11video.c:507: undefined reference to `XDestroyIC'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xb8e):./src/video/x11/SDL_x11video.c:431: undefined reference to `XUnsetICFocus'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xb9e):./src/video/x11/SDL_x11video.c:432: undefined reference to `XDestroyIC'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xbf5):./src/video/x11/SDL_x11video.c:545: undefined reference to `XSelectInput'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xc05):./src/video/x11/SDL_x11video.c:546: undefined reference to `XSetICFocus'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xc3c): In function `X11_VideoInit':
./src/video/x11/SDL_x11video.c:566: undefined reference to `XDisplayName'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xc61):./src/video/x11/SDL_x11video.c:572: undefined reference to `XOpenDisplay'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xc85):./src/video/x11/SDL_x11video.c:599: undefined reference to `XOpenDisplay'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xcac):./src/video/x11/SDL_x11video.c:608: undefined reference to `XSetErrorHandler'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xcbd):./src/video/x11/SDL_x11video.c:611: undefined reference to `XSetIOErrorHandler'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xcce):./src/video/x11/SDL_x11video.c:614: undefined reference to `XSetExtensionErrorHandler'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xf00):./src/video/x11/SDL_x11video.c:693: undefined reference to `XFlush'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xf33):./src/video/x11/SDL_x11video.c:655: undefined reference to `XCreateColormap'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xf9b):./src/video/x11/SDL_x11video.c:566: undefined reference to `XDisplayName'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0xfe6):./src/video/x11/SDL_x11video.c:623: undefined reference to `XShmQueryExtension'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x101b):./src/video/x11/SDL_x11video.c:601: undefined reference to `XCloseDisplay'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1043):./src/video/x11/SDL_x11video.c:629: undefined reference to `XCloseDisplay'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x105d):./src/video/x11/SDL_x11video.c:631: undefined reference to `XCloseDisplay'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1134): In function `X11_DestroyWindow':
./src/video/x11/SDL_x11video.c:727: undefined reference to `XFreeColors'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x119c):./src/video/x11/SDL_x11video.c:738: undefined reference to `XFreeGC'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x11c1):./src/video/x11/SDL_x11video.c:708: undefined reference to `XUnmapWindow'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x11d6):./src/video/x11/SDL_x11video.c:717: undefined reference to `XDestroyWindow'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1210): In function `X11_SetSizeHints':
./src/video/x11/SDL_x11video.c:768: undefined reference to `XAllocSizeHints'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1336):./src/video/x11/SDL_x11video.c:788: undefined reference to `XMoveWindow'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x134c):./src/video/x11/SDL_x11video.c:791: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1367):./src/video/x11/SDL_x11video.c:793: undefined reference to `XSetWMNormalHints'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1371):./src/video/x11/SDL_x11video.c:794: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1398):./src/video/x11/SDL_x11video.c:806: undefined reference to `XInternAtom'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x13c1):./src/video/x11/SDL_x11video.c:825: undefined reference to `XInternAtom'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x13e8):./src/video/x11/SDL_x11video.c:837: undefined reference to `XInternAtom'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1465):./src/video/x11/SDL_x11video.c:793: undefined reference to `XSetWMNormalHints'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x146f):./src/video/x11/SDL_x11video.c:794: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1496):./src/video/x11/SDL_x11video.c:860: undefined reference to `XInternAtom'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x14bd):./src/video/x11/SDL_x11video.c:866: undefined reference to `XInternAtom'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x14e2):./src/video/x11/SDL_x11video.c:872: undefined reference to `XInternAtom'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x150a):./src/video/x11/SDL_x11video.c:880: undefined reference to `XSetTransientForHint'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1544):./src/video/x11/SDL_x11video.c:874: undefined reference to `XDeleteProperty'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1564):./src/video/x11/SDL_x11video.c:868: undefined reference to `XDeleteProperty'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1594):./src/video/x11/SDL_x11video.c:862: undefined reference to `XDeleteProperty'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x15d5):./src/video/x11/SDL_x11video.c:841: undefined reference to `XChangeProperty'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1612):./src/video/x11/SDL_x11video.c:829: undefined reference to `XChangeProperty'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1662):./src/video/x11/SDL_x11video.c:817: undefined reference to `XChangeProperty'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x169d):./src/video/x11/SDL_x11video.c:880: undefined reference to `XSetTransientForHint'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x17b9): In function `X11_UpdateMouse':
./src/video/x11/SDL_x11video.c:1258: undefined reference to `XQueryPointer'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1935): In function `X11_SetColors':
./src/video/x11/SDL_x11video.c:1363: undefined reference to `XStoreColors'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x194b):./src/video/x11/SDL_x11video.c:1364: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x19ec):./src/video/x11/SDL_x11video.c:1392: undefined reference to `XFreeColors'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1ae0):./src/video/x11/SDL_x11video.c:1409: undefined reference to `XAllocColor'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1b6b):./src/video/x11/SDL_x11video.c:1295: undefined reference to `XQueryColors'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1d4e):./src/video/x11/SDL_x11video.c:1321: undefined reference to `XAllocColor'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1e9a): In function `X11_SetGammaRamp':
./src/video/x11/SDL_x11video.c:1453: undefined reference to `XStoreColors'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1eb0):./src/video/x11/SDL_x11video.c:1454: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1f12): In function `X11_SetVideoMode':
./src/video/x11/SDL_x11video.c:1148: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x1fe1):./src/video/x11/SDL_x11video.c:919: undefined reference to `XGetWindowAttributes'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x2071):./src/video/x11/SDL_x11video.c:954: undefined reference to `XFreeColormap'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x20c1):./src/video/x11/SDL_x11video.c:993: undefined reference to `XCreateColormap'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x2129):./src/video/x11/SDL_x11video.c:1053: undefined reference to `XCreateGC'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x21fe):./src/video/x11/SDL_x11video.c:1209: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x2260):./src/video/x11/SDL_x11video.c:1209: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x2384):./src/video/x11/SDL_x11video.c:1110: undefined reference to `XResizeWindow'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x23b7):./src/video/x11/SDL_x11video.c:1126: undefined reference to `XResizeWindow'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x2408):./src/video/x11/SDL_x11video.c:1015: undefined reference to `XResizeWindow'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x245c):./src/video/x11/SDL_x11video.c:1037: undefined reference to `XSelectInput'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x247a):./src/video/x11/SDL_x11video.c:1006: undefined reference to `XSetWindowBackground'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x248f):./src/video/x11/SDL_x11video.c:1007: undefined reference to `XClearWindow'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x24cf):./src/video/x11/SDL_x11video.c:982: undefined reference to `XCreateColormap'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x24e8):./src/video/x11/SDL_x11video.c:984: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x2571):./src/video/x11/SDL_x11video.c:1030: undefined reference to `XCreateWindow'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x258c):./src/video/x11/SDL_x11video.c:1088: undefined reference to `XMapWindow'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x25a1):./src/video/x11/SDL_x11video.c:1089: undefined reference to `XMapWindow'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x25eb):./src/video/x11/SDL_x11video.c:1081: undefined reference to `XChangeWindowAttributes'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x260e):./src/video/x11/SDL_x11video.c:1063: undefined reference to `XSetWindowColormap'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x2637):./src/video/x11/SDL_x11video.c:1065: undefined reference to `XSetWindowColormap'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x2654):./src/video/x11/SDL_x11video.c:1066: undefined reference to `XSetWindowColormap'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x2817): In function `X11_VideoQuit':
./src/video/x11/SDL_x11video.c:1467: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x287f):./src/video/x11/SDL_x11video.c:1487: undefined reference to `XFreeColormap'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x28e1):./src/video/x11/SDL_x11video.c:1495: undefined reference to `XFreeColors'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x298a):./src/video/x11/SDL_x11video.c:1525: undefined reference to `XCloseDisplay'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x29c6):./src/video/x11/SDL_x11video.c:1477: undefined reference to `XCloseIM'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x29e4):./src/video/x11/SDL_x11video.c:1472: undefined reference to `XUnsetICFocus'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x29f4):./src/video/x11/SDL_x11video.c:1473: undefined reference to `XDestroyIC'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x2a12):./src/video/x11/SDL_x11video.c:1533: undefined reference to `XSetErrorHandler'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x2a20):./src/video/x11/SDL_x11video.c:1530: undefined reference to `XSetIOErrorHandler'
/usr/local/lib/libSDL.a(SDL_x11video.o)(.text+0x2a31):./src/video/x11/SDL_x11video.c:1520: undefined reference to `XCloseDisplay'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x19a): In function `X11_SetIcon':
./src/video/x11/SDL_x11wm.c:187: undefined reference to `XCreatePixmapFromBitmapData'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x203):./src/video/x11/SDL_x11wm.c:193: undefined reference to `XCreateImage'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x263):./src/video/x11/SDL_x11wm.c:201: undefined reference to `XCreatePixmap'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x28b):./src/video/x11/SDL_x11wm.c:203: undefined reference to `XCreateGC'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x2c0):./src/video/x11/SDL_x11wm.c:204: undefined reference to `XPutImage'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x2d6):./src/video/x11/SDL_x11wm.c:206: undefined reference to `XFreeGC'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x312):./src/video/x11/SDL_x11wm.c:226: undefined reference to `XAllocWMHints'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x357):./src/video/x11/SDL_x11wm.c:234: undefined reference to `XSetWMHints'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x35f):./src/video/x11/SDL_x11wm.c:235: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x375):./src/video/x11/SDL_x11wm.c:236: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x511):./src/video/x11/SDL_x11wm.c:134: undefined reference to `XAllocColor'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x56f):./src/video/x11/SDL_x11wm.c:148: undefined reference to `XQueryColors'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x5e7):./src/video/x11/SDL_x11wm.c:154: undefined reference to `XAllocColor'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x6d4):./src/video/x11/SDL_x11wm.c:119: undefined reference to `XFreeColors'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x743):./src/video/x11/SDL_x11wm.c:216: undefined reference to `XCreateSimpleWindow'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x766):./src/video/x11/SDL_x11wm.c:220: undefined reference to `XSetWindowBackgroundPixmap'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x781):./src/video/x11/SDL_x11wm.c:222: undefined reference to `XClearWindow'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x85c): In function `X11_SetCaptionNoLock':
./src/video/x11/SDL_x11wm.c:288: undefined reference to `XStringListToTextProperty'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x885):./src/video/x11/SDL_x11wm.c:291: undefined reference to `XSetTextProperty'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x88f):./src/video/x11/SDL_x11wm.c:292: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x8c0):./src/video/x11/SDL_x11wm.c:296: undefined reference to `Xutf8TextListToTextProperty'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x8df):./src/video/x11/SDL_x11wm.c:299: undefined reference to `XSetTextProperty'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x8e9):./src/video/x11/SDL_x11wm.c:300: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x900):./src/video/x11/SDL_x11wm.c:305: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x948):./src/video/x11/SDL_x11wm.c:265: undefined reference to `XStringListToTextProperty'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x987):./src/video/x11/SDL_x11wm.c:273: undefined reference to `Xutf8TextListToTextProperty'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x9aa):./src/video/x11/SDL_x11wm.c:276: undefined reference to `XSetTextProperty'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x9b4):./src/video/x11/SDL_x11wm.c:277: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x9d3):./src/video/x11/SDL_x11wm.c:254: undefined reference to `XInternAtom'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0x9ef):./src/video/x11/SDL_x11wm.c:255: undefined reference to `XInternAtom'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0xa10):./src/video/x11/SDL_x11wm.c:268: undefined reference to `XSetTextProperty'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0xa1a):./src/video/x11/SDL_x11wm.c:269: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0xa87): In function `X11_IconifyWindow':
./src/video/x11/SDL_x11wm.c:321: undefined reference to `XIconifyWindow'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0xa9c):./src/video/x11/SDL_x11wm.c:322: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0xb1f): In function `X11_GrabInputNoLock':
./src/video/x11/SDL_x11wm.c:351: undefined reference to `XGrabPointer'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0xb44):./src/video/x11/SDL_x11wm.c:363: undefined reference to `XGrabKeyboard'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0xb69):./src/video/x11/SDL_x11wm.c:368: undefined reference to `XRaiseWindow'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0xb96):./src/video/x11/SDL_x11wm.c:375: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0xbaf):./src/video/x11/SDL_x11wm.c:338: undefined reference to `XUngrabPointer'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0xbc2):./src/video/x11/SDL_x11wm.c:339: undefined reference to `XUngrabKeyboard'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0xbd2):./src/video/x11/SDL_x11wm.c:343: undefined reference to `XUngrabPointer'
/usr/local/lib/libSDL.a(SDL_x11wm.o)(.text+0xc38): In function `unlock_display':
./src/video/x11/SDL_x11wm.c:400: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x13c): In function `X11_DisplayYUVOverlay':
./src/video/x11/SDL_x11yuv.c:503: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x1bb):./src/video/x11/SDL_x11yuv.c:503: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x2a2): In function `X11_FreeYUVOverlay':
./src/video/x11/SDL_x11yuv.c:516: undefined reference to `XShmDetach'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x2c5):./src/video/x11/SDL_x11yuv.c:521: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x36e): In function `X11_CreateYUVOverlay':
./src/video/x11/SDL_x11yuv.c:279: undefined reference to `XSetErrorHandler'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x39f):./src/video/x11/SDL_x11yuv.c:284: undefined reference to `XInternAtom'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x3be):./src/video/x11/SDL_x11yuv.c:293: undefined reference to `XSetErrorHandler'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x4a2):./src/video/x11/SDL_x11yuv.c:333: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x554):./src/video/x11/SDL_x11yuv.c:377: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x628):./src/video/x11/SDL_x11yuv.c:287: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x7ae):./src/video/x11/SDL_x11yuv.c:348: undefined reference to `XSetErrorHandler'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x7c8):./src/video/x11/SDL_x11yuv.c:349: undefined reference to `XShmAttach'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x7db):./src/video/x11/SDL_x11yuv.c:350: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x7e7):./src/video/x11/SDL_x11yuv.c:351: undefined reference to `XSetErrorHandler'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x900):./src/video/x11/SDL_x11yuv.c:431: undefined reference to `XSetErrorHandler'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x9eb):./src/video/x11/SDL_x11yuv.c:455: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0x9f7):./src/video/x11/SDL_x11yuv.c:456: undefined reference to `XSetErrorHandler'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0xac2):./src/video/x11/SDL_x11yuv.c:230: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_x11yuv.o)(.text+0xb34):./src/video/x11/SDL_x11yuv.c:362: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0x26): In function `DGA_Available':
./src/video/dga/SDL_dgavideo.c:83: undefined reference to `XDisplayName'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0x38):./src/video/dga/SDL_dgavideo.c:85: undefined reference to `XOpenDisplay'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0x60):./src/video/dga/SDL_dgavideo.c:100: undefined reference to `XCloseDisplay'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0x86):./src/video/dga/SDL_dgavideo.c:83: undefined reference to `XDisplayName'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0x8dd): In function `DGA_FillHWRect':
./src/video/dga/SDL_dgavideo.c:853: undefined reference to `XFlush'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0xa75): In function `HWAccelBlit':
./src/video/dga/SDL_dgavideo.c:895: undefined reference to `XFlush'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0xbeb): In function `DGA_FlipHWSurface':
./src/video/dga/SDL_dgavideo.c:975: undefined reference to `XFlush'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0xeff): In function `DGA_SetColors':
./src/video/dga/SDL_dgavideo.c:1008: undefined reference to `XStoreColors'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0xf15):./src/video/dga/SDL_dgavideo.c:1009: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0x105b): In function `DGA_SetGammaRamp':
./src/video/dga/SDL_dgavideo.c:1043: undefined reference to `XStoreColors'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0x1071):./src/video/dga/SDL_dgavideo.c:1044: undefined reference to `XSync'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0x1196): In function `DGA_SetVideoMode':
./src/video/dga/SDL_dgavideo.c:498: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0x1410):./src/video/dga/SDL_dgavideo.c:464: undefined reference to `XFreeColormap'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0x1620): In function `DGA_VideoQuit':
./src/video/dga/SDL_dgavideo.c:1056: undefined reference to `XFreeColormap'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0x16a5): In function `DGA_VideoInit':
./src/video/dga/SDL_dgavideo.c:346: undefined reference to `XOpenDisplay'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0x1777):./src/video/dga/SDL_dgavideo.c:377: undefined reference to `XListPixmapFormats'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0x17c2):./src/video/dga/SDL_dgavideo.c:389: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0x19cf):./src/video/dga/SDL_dgavideo.c:425: undefined reference to `XFree'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0x1a2b):./src/video/dga/SDL_dgavideo.c:361: undefined reference to `XCloseDisplay'
/usr/local/lib/libSDL.a(SDL_dgavideo.o)(.text+0x15ee): In function `DGA_VideoQuit':
./src/video/dga/SDL_dgavideo.c:1098: undefined reference to `XCloseDisplay'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x31): In function `xv_find_display':
./src/video/Xext/Xv/Xv.c:95: undefined reference to `XextCreateExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x4c):./src/video/Xext/Xv/Xv.c:95: undefined reference to `XextFindDisplay'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x7b):./src/video/Xext/Xv/Xv.c:95: undefined reference to `XextAddDisplay'
/usr/local/lib/libSDL.a(Xv.o)(.text+0xea): In function `xv_error_string':
./src/video/Xext/Xv/Xv.c:101: undefined reference to `XGetErrorDatabaseText'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x16a): In function `SDL_XvQueryExtension':
./src/video/Xext/Xv/Xv.c:124: undefined reference to `_XReply'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1bb):./src/video/Xext/Xv/Xv.c:118: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x255):./src/video/Xext/Xv/Xv.c:122: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x388): In function `SDL_XvQueryAdaptors':
./src/video/Xext/Xv/Xv.c:174: undefined reference to `_XReply'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x3c5):./src/video/Xext/Xv/Xv.c:186: undefined reference to `_XRead'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x569):./src/video/Xext/Xv/Xv.c:165: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x5d1):./src/video/Xext/Xv/Xv.c:169: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x718): In function `SDL_XvQueryEncodings':
./src/video/Xext/Xv/Xv.c:333: undefined reference to `_XReply'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x753):./src/video/Xext/Xv/Xv.c:345: undefined reference to `_XRead'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x8df):./src/video/Xext/Xv/Xv.c:324: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x902):./src/video/Xext/Xv/Xv.c:328: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0xb1b): In function `SDL_XvPutVideo':
./src/video/Xext/Xv/Xv.c:435: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0xb55):./src/video/Xext/Xv/Xv.c:441: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0xb76):./src/video/Xext/Xv/Xv.c:439: undefined reference to `_XFlushGCCache'
/usr/local/lib/libSDL.a(Xv.o)(.text+0xc8b): In function `SDL_XvPutStill':
./src/video/Xext/Xv/Xv.c:475: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0xcc5):./src/video/Xext/Xv/Xv.c:481: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0xce6):./src/video/Xext/Xv/Xv.c:479: undefined reference to `_XFlushGCCache'
/usr/local/lib/libSDL.a(Xv.o)(.text+0xdfc): In function `SDL_XvGetVideo':
./src/video/Xext/Xv/Xv.c:514: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0xe35):./src/video/Xext/Xv/Xv.c:520: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0xe56):./src/video/Xext/Xv/Xv.c:518: undefined reference to `_XFlushGCCache'
/usr/local/lib/libSDL.a(Xv.o)(.text+0xf6b): In function `SDL_XvGetStill':
./src/video/Xext/Xv/Xv.c:553: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0xfa5):./src/video/Xext/Xv/Xv.c:559: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0xfc6):./src/video/Xext/Xv/Xv.c:557: undefined reference to `_XFlushGCCache'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x107b): In function `SDL_XvStopVideo':
./src/video/Xext/Xv/Xv.c:587: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x10b5):./src/video/Xext/Xv/Xv.c:591: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1156): In function `SDL_XvGrabPort':
./src/video/Xext/Xv/Xv.c:620: undefined reference to `_XReply'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x119c):./src/video/Xext/Xv/Xv.c:612: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x11d5):./src/video/Xext/Xv/Xv.c:616: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x128c): In function `SDL_XvUngrabPort':
./src/video/Xext/Xv/Xv.c:640: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x12c5):./src/video/Xext/Xv/Xv.c:644: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x137b): In function `SDL_XvSelectVideoNotify':
./src/video/Xext/Xv/Xv.c:663: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x13b5):./src/video/Xext/Xv/Xv.c:667: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x146b): In function `SDL_XvSelectPortNotify':
./src/video/Xext/Xv/Xv.c:686: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x14a5):./src/video/Xext/Xv/Xv.c:690: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x156b): In function `SDL_XvSetPortAttribute':
./src/video/Xext/Xv/Xv.c:711: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x15a5):./src/video/Xext/Xv/Xv.c:715: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1646): In function `SDL_XvGetPortAttribute':
./src/video/Xext/Xv/Xv.c:748: undefined reference to `_XReply'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x168c):./src/video/Xext/Xv/Xv.c:738: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x16b5):./src/video/Xext/Xv/Xv.c:742: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x17c2): In function `SDL_XvQueryBestSize':
./src/video/Xext/Xv/Xv.c:793: undefined reference to `_XReply'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x181b):./src/video/Xext/Xv/Xv.c:779: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1845):./src/video/Xext/Xv/Xv.c:783: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1941): In function `SDL_XvQueryPortAttributes':
./src/video/Xext/Xv/Xv.c:828: undefined reference to `_XReply'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x198b):./src/video/Xext/Xv/Xv.c:819: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1a19):./src/video/Xext/Xv/Xv.c:843: undefined reference to `_XRead'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1a42):./src/video/Xext/Xv/Xv.c:848: undefined reference to `_XRead'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1a95):./src/video/Xext/Xv/Xv.c:823: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1ad9):./src/video/Xext/Xv/Xv.c:853: undefined reference to `_XEatData'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1b7e): In function `SDL_XvListImageFormats':
./src/video/Xext/Xv/Xv.c:883: undefined reference to `_XReply'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1bde):./src/video/Xext/Xv/Xv.c:874: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1c15):./src/video/Xext/Xv/Xv.c:878: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1cb2):./src/video/Xext/Xv/Xv.c:897: undefined reference to `_XRead'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1e04):./src/video/Xext/Xv/Xv.c:923: undefined reference to `_XEatData'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1e95): In function `SDL_XvCreateImage':
./src/video/Xext/Xv/Xv.c:957: undefined reference to `_XReply'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1f0c):./src/video/Xext/Xv/Xv.c:973: undefined reference to `_XRead'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1f20):./src/video/Xext/Xv/Xv.c:974: undefined reference to `_XRead'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1f5c):./src/video/Xext/Xv/Xv.c:945: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1f85):./src/video/Xext/Xv/Xv.c:949: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x1fe8):./src/video/Xext/Xv/Xv.c:976: undefined reference to `_XEatData'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x219c): In function `SDL_XvPutImage':
./src/video/Xext/Xv/Xv.c:1020: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x21bb):./src/video/Xext/Xv/Xv.c:1050: undefined reference to `_XSend'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x2245):./src/video/Xext/Xv/Xv.c:1026: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x2266):./src/video/Xext/Xv/Xv.c:1024: undefined reference to `_XFlushGCCache'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x2297):./src/video/Xext/Xv/Xv.c:1044: undefined reference to `_XSend'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x23cb): In function `SDL_XvShmPutImage':
./src/video/Xext/Xv/Xv.c:1078: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x2405):./src/video/Xext/Xv/Xv.c:1084: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x2426):./src/video/Xext/Xv/Xv.c:1082: undefined reference to `_XFlushGCCache'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x24ab): In function `xv_wire_to_event':
./src/video/Xext/Xv/Xv.c:1118: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x24c8):./src/video/Xext/Xv/Xv.c:1124: undefined reference to `_XSetLastRequestRead'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x250d):./src/video/Xext/Xv/Xv.c:1135: undefined reference to `_XSetLastRequestRead'
/usr/local/lib/libSDL.a(Xv.o)(.text+0x13): In function `xv_close_display':
./src/video/Xext/Xv/Xv.c:92: undefined reference to `XextRemoveDisplay'
/usr/local/lib/libSDL.a(xme.o)(.text+0x31): In function `XiGMiscFindDisplay':
./src/video/Xext/XME/xme.c:223: undefined reference to `XextCreateExtension'
/usr/local/lib/libSDL.a(xme.o)(.text+0x4c):./src/video/Xext/XME/xme.c:223: undefined reference to `XextFindDisplay'
/usr/local/lib/libSDL.a(xme.o)(.text+0x7b):./src/video/Xext/XME/xme.c:223: undefined reference to `XextAddDisplay'
/usr/local/lib/libSDL.a(xme.o)(.text+0xba): In function `XiGMiscQueryVersion':
./src/video/Xext/XME/xme.c:237: undefined reference to `XQueryExtension'
/usr/local/lib/libSDL.a(xme.o)(.text+0xde):./src/video/Xext/XME/xme.c:240: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(xme.o)(.text+0x140):./src/video/Xext/XME/xme.c:248: undefined reference to `_XReply'
/usr/local/lib/libSDL.a(xme.o)(.text+0x1c1):./src/video/Xext/XME/xme.c:243: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(xme.o)(.text+0x274): In function `XiGMiscQueryViews':
./src/video/Xext/XME/xme.c:275: undefined reference to `_XReply'
/usr/local/lib/libSDL.a(xme.o)(.text+0x2a9):./src/video/Xext/XME/xme.c:293: undefined reference to `_XReadPad'
/usr/local/lib/libSDL.a(xme.o)(.text+0x2eb):./src/video/Xext/XME/xme.c:269: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(xme.o)(.text+0x2ff):./src/video/Xext/XME/xme.c:287: undefined reference to `_XEatData'
/usr/local/lib/libSDL.a(xme.o)(.text+0x355):./src/video/Xext/XME/xme.c:272: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(xme.o)(.text+0x40a): In function `XiGMiscQueryResolutions':
./src/video/Xext/XME/xme.c:318: undefined reference to `_XReply'
/usr/local/lib/libSDL.a(xme.o)(.text+0x445):./src/video/Xext/XME/xme.c:336: undefined reference to `_XReadPad'
/usr/local/lib/libSDL.a(xme.o)(.text+0x48b):./src/video/Xext/XME/xme.c:311: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(xme.o)(.text+0x49f):./src/video/Xext/XME/xme.c:330: undefined reference to `_XEatData'
/usr/local/lib/libSDL.a(xme.o)(.text+0x4f5):./src/video/Xext/XME/xme.c:314: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(xme.o)(.text+0x62d): In function `XiGMiscChangeResolution':
./src/video/Xext/XME/xme.c:356: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(xme.o)(.text+0x6c9): In function `XiGMiscFullScreen':
./src/video/Xext/XME/xme.c:384: undefined reference to `_XReply'
/usr/local/lib/libSDL.a(xme.o)(.text+0x70c):./src/video/Xext/XME/xme.c:374: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(xme.o)(.text+0x765):./src/video/Xext/XME/xme.c:377: undefined reference to `_XFlush'
/usr/local/lib/libSDL.a(xme.o)(.text+0x7c5): In function `XiGMiscDestroy':
./src/video/Xext/XME/xme.c:401: undefined reference to `XextDestroyExtension'
/usr/local/lib/libSDL.a(xme.o)(.text+0x13): In function `XiGMiscCloseDisplay':
./src/video/Xext/XME/xme.c:221: undefined reference to `XextRemoveDisplay'
/usr/local/lib/libSDL.a(xme.o)(.text+0x57e): In function `XiGMiscChangeResolution':
./src/video/Xext/XME/xme.c:353: undefined reference to `XMissingExtension'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x1e0): In function `SVGA_AddMode':
./src/video/svga/SDL_svgavideo.c:166: undefined reference to `vga_getmodeinfo'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x40b): In function `SVGA_UpdateVideoInfo':
./src/video/svga/SDL_svgavideo.c:219: undefined reference to `vga_getcurrentmode'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x413):./src/video/svga/SDL_svgavideo.c:219: undefined reference to `vga_getmodeinfo'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x46e): In function `SVGA_VideoInit':
./src/video/svga/SDL_svgavideo.c:241: undefined reference to `vga_disabledriverreport'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x473):./src/video/svga/SDL_svgavideo.c:242: undefined reference to `vga_init'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x485):./src/video/svga/SDL_svgavideo.c:246: undefined reference to `vga_setmode'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x491):./src/video/svga/SDL_svgavideo.c:249: undefined reference to `vga_setmousesupport'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x496):./src/video/svga/SDL_svgavideo.c:250: undefined reference to `keyboard_init_return_fd'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x4c7):./src/video/svga/SDL_svgavideo.c:258: undefined reference to `keyboard_seteventhandler'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x4e4):./src/video/svga/SDL_svgavideo.c:269: undefined reference to `vga_lastmodenumber'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x505):./src/video/svga/SDL_svgavideo.c:270: undefined reference to `vga_hasmode'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x60b):./src/video/svga/SDL_svgavideo.c:303: undefined reference to `vga_lastmodenumber'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x625):./src/video/svga/SDL_svgavideo.c:304: undefined reference to `vga_hasmode'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x80c): In function `SVGA_FlipHWSurface':
./src/video/svga/SDL_svgavideo.c:477: undefined reference to `vga_setdisplaystart'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x834):./src/video/svga/SDL_svgavideo.c:480: undefined reference to `vga_waitretrace'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x8db): In function `SVGA_SetVideoMode':
./src/video/svga/SDL_svgavideo.c:366: undefined reference to `vga_setmode'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x8e7):./src/video/svga/SDL_svgavideo.c:367: undefined reference to `vga_setpage'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x8ec):./src/video/svga/SDL_svgavideo.c:369: undefined reference to `vga_setlinearaddressing'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0x917):./src/video/svga/SDL_svgavideo.c:375: undefined reference to `vga_getmodeinfo'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0xa3b):./src/video/svga/SDL_svgavideo.c:433: undefined reference to `vga_getgraphmem'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0xa6d):./src/video/svga/SDL_svgavideo.c:408: undefined reference to `vga_getgraphmem'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0xab3):./src/video/svga/SDL_svgavideo.c:447: undefined reference to `mouse_seteventhandler'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0xbba): In function `SVGA_BankedUpdate':
./src/video/svga/SDL_svgavideo.c:501: undefined reference to `vga_getgraphmem'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0xc37):./src/video/svga/SDL_svgavideo.c:513: undefined reference to `vga_setpage'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0xc8b):./src/video/svga/SDL_svgavideo.c:523: undefined reference to `vga_setpage'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0xd2b):./src/video/svga/SDL_svgavideo.c:518: undefined reference to `vga_setpage'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0xdad): In function `SVGA_SetColors':
./src/video/svga/SDL_svgavideo.c:543: undefined reference to `vga_setpalette'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0xdf2): In function `SVGA_VideoQuit':
./src/video/svga/SDL_svgavideo.c:562: undefined reference to `keyboard_close'
/usr/local/lib/libSDL.a(SDL_svgavideo.o)(.text+0xe95):./src/video/svga/SDL_svgavideo.c:560: undefined reference to `vga_setmode'
/usr/local/lib/libSDL.a(SDL_x11dyn.o)(.text+0x1f): In function `SDL_X11_LoadSymbols':
./src/video/x11/SDL_x11dyn.c:183: undefined reference to `XCreateIC'
/usr/local/lib/libSDL.a(SDL_x11dyn.o)(.text+0x29):./src/video/x11/SDL_x11dyn.c:184: undefined reference to `XGetICValues'
/usr/local/lib/libSDL.a(SDL_x11events.o)(.text+0x101): In function `X11_Pending':
./src/video/x11/SDL_x11events.c:896: undefined reference to `XFlush'
/usr/local/lib/libSDL.a(SDL_x11events.o)(.text+0x10b):./src/video/x11/SDL_x11events.c:897: undefined reference to `XEventsQueued'
/usr/local/lib/libSDL.a(SDL_x11events.o)(.text+0x17a):./src/video/x
 

hessiess

Member
Joined
Apr 26, 2008
Messages
219
You should be able to compile the various libs into `.a' libs and link to those, though exactly how to achieve this depends on how the libuerys build systems are set up.
 

TrevorBradley

Active Member
Joined
Nov 6, 2007
Messages
732
Hessiess said:
You should be able to compile the various libs into `.a' libs and link to those, though exactly how to achieve this depends on how the libuerys build systems are set up.
Hey, that's pretty cool.

Works for everything *but* libSDL_ttf.a... If I attempt to include that it gives me all the XWindows errors I got above.

This, however:

CODE
g++ -o GalacticArtifact StringParser.o CaptainNames.o SoundSystem.o MusicSystem.o Font.o NumberGenerator.o KeyPressed.o FrameTimer.o Coords.o Artifact.o Ship.o View.o Star.o Information.o Messages.o AlienInterface.o ScreenSurface.o ShipSurface.o CargoSurface.o MessageSurface.o MinimapSurface.o OverviewSurface.o GalaxySurface.o RadarSurface.o AlienInterfaceSurface.o InformationSurface.o VictorySurface.o NetworkConnection.o Network.o NetworkEvent.o GalacticArtifact.o /usr/local/lib/libsprig.a /usr/local/lib/libSDL_net.a /usr/local/lib/libSDL_image.a -lSDL_ttf /usr/local/lib/libSDL_mixer.a /usr/local/lib/libSDL_gfx.a /usr/local/lib/libSDL.a


works great, and gives me a nice big chunky binary.

(note the -lSDL_ttf though, I'm still loading that dynamically and users would need to have that installed on their systems)

Anyone have any hints on sealing the deal and squeezing libSDL_ttf.a in there without errors? Do I need a -l parameter for X11? If so, what would it be? (I don't see anything in /usr/local/lib/ or /usr/lib/ that looks appropriate.)
 
Last edited by a moderator:

senquack

I feel a great disturbance in the source
Joined
Nov 1, 2006
Messages
1,167
Age
42
Location
USA
Website
Visit site
What you're missing (at the least) at the end of your LDFLAGS is this:

-lfreetype -lX11

(possibly add -lXft before -lX11 if it complains more)

That's what all the missing function references are from, FT_* and X*

There's a good chance there are other X libraries it needs to be linked to, too, but I think -lX11 is the biggie

If you can't find libX11.a anywhere in your toolchain folder that means they didn't include a statically linked X library.
 

TrevorBradley

Active Member
Joined
Nov 6, 2007
Messages
732
Senor Quack said:
What you're missing (at the least) at the end of your LDFLAGS is this:

-lfreetype -lX11

(possibly add -lXft before -lX11 if it complains more)

That's what all the missing function references are from, FT_* and X*

There's a good chance there are other X libraries it needs to be linked to, too, but I think -lX11 is the biggie

If you can't find libX11.a anywhere in your toolchain folder that means they didn't include a statically linked X library.
I finally found libX11.so.. hidden away in /usr/X11R6/lib/. (should have thought to use locate)

I still had errors after this point, but you've all pointed me far enough in the right direction that I managed to figure the rest out by myself, even through the cryptic linker errors.

freetype, X11 were both needed as you suggested, Quack. Xft wasn't needed, but Xrandr, and vga both were (as well as pthread). I've tested all the combinatins to ensure that each of these libs is actually needed.

Here's my final working compile line with no errors (for future reference):

CODE
> g++ -o GalacticArtifact StringParser.o CaptainNames.o SoundSystem.o MusicSystem.o Font.o NumberGenerator.o KeyPressed.o FrameTimer.o Coords.o Artifact.o Ship.o View.o Star.o Information.o Messages.o AlienInterface.o ScreenSurface.o ShipSurface.o CargoSurface.o MessageSurface.o MinimapSurface.o OverviewSurface.o GalaxySurface.o RadarSurface.o AlienInterfaceSurface.o InformationSurface.o VictorySurface.o NetworkConnection.o Network.o NetworkEvent.o GalacticArtifact.o /usr/local/lib/libsprig.a /usr/local/lib/libSDL_net.a /usr/local/lib/libSDL_image.a /usr/local/lib/libSDL_ttf.a /usr/local/lib/libSDL_mixer.a /usr/local/lib/libSDL_gfx.a /usr/local/lib/libSDL.a -lfreetype -L /usr/X11R6/lib/ -lX11 -lXrandr -lvga -lpthread


That *should* work on any 32 bit linux system with X installed (I would assume). Not sure if this helps the poor 64 bit folks though. Guessing based on all the other linux releases out there in the open source world, they'll likely need their own binary.

Thanks everyone! I feel I'm making progress in putting this crazy picture together... :)
 
Last edited by a moderator:

Vorporeal

Yes, no, I, this is.
Joined
Sep 13, 2007
Messages
1,614
Age
31
Website
Visit site
It should work on amd64 systems assuming that they have the 32-bit compat libraries installed. I can run firefox32 on my 64-bit installation of gentoo just fine.
 

GernotFrisch

Member
Joined
Jan 2, 2007
Messages
445
I get something like this too:
CODE

warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking


What can I do?
 

senquack

I feel a great disturbance in the source
Joined
Nov 1, 2006
Messages
1,167
Age
42
Location
USA
Website
Visit site
KungPhoo said:
I get something like this too:
CODE

warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
What can I do?


That always appears and I'm told it doesn't seem to affect anything.
 
Last edited by a moderator:
Top