[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SVGALIB on Thinkpad



On Tue, May 14, 2002 at 07:07:47AM -0500, Steve Baker wrote:
> Katie Lucas wrote:
> ...or a couple of days trying to get svgalib to work.

Actually that took almost no time. And it's all abstracted away so
porting to something else will be easy.
 
> Remember - this thread started with a complaint that svgalib *didn't*
> work on your ThinkPad - not a complaint that SDL didn't work.

Oh it works. I can guess what it's doing, and I think it's a hardware
"feature" - if it's run out of screen memory and it's still got screen
to fill it just doesn't increment the pixel line address...

I just wondered if anyone else had come across it before.

(It's fine on all the other machines.)

I suspect it will affect SDL the minute it's in a mode with doesn't
quite fill the screen..
 
> Probably, if you'd asked how to get SDL running, you'd have gotten a
> lot of help from experienced SDL Guru's - instead you've had no help
> whatever on your svgalib problem and you are steadfastly ignoring the
> only piece of advice everyone has to offer.

OK then - SDL is 1.2.3 installed, from RPMs. The demo I got (xflame
off the SDL site) doesn't build. configure doesn't appear to make the
correct link lines in the Makefile - it fails to link with lots of:

/usr/lib/libSDL.a(SDL_esdaudio.lo): In function `Audio_Available':
SDL_esdaudio.lo(.text+0x1c): undefined reference to `esd_open_sound'
SDL_esdaudio.lo(.text+0x31): undefined reference to `esd_close'
/usr/lib/libSDL.a(SDL_esdaudio.lo): In function `ESD_OpenAudio':
SDL_esdaudio.lo(.text+0x452): undefined reference to `esd_play_stream'
/usr/lib/libSDL.a(SDL_x11video.lo): In function `X11_VideoInit':
/usr/lib/libSDL.a(SDL_x11dga.lo): In function `X11_EnableDGAMouse':
SDL_x11dga.lo(.text+0xc6): undefined reference to `XF86DGAQueryExtension'
SDL_x11dga.lo(.text+0xea): undefined reference to `XF86DGAQueryVersion'
SDL_x11dga.lo(.text+0x118): undefined reference to `XF86DGADirectVideo'
/usr/lib/libSDL.a(SDL_x11dga.lo): In function `X11_CheckDGAMouse':
SDL_x11dga.lo(.text+0x17e): undefined reference to `XF86DGAQueryDirectVideo'
SDL_x11dga.lo(.text+0x1ab): undefined reference to `XF86DGADirectVideo'
/usr/lib/libSDL.a(SDL_x11dga.lo): In function `X11_DisableDGAMouse':
SDL_x11dga.lo(.text+0x1f9): undefined reference to `XF86DGADirectVideo'


Now this looks like a library issue, which makes me think
/usr/bin/sdl-config isn't installed correctly, but I have no idea how
to fix it.

Following the FAQ, a simple test also fails to build.

gcc -o test test.c `sdl-config --cflags --libs`

is what the FAQ says should compile it. It again fails with multiple
X11 and XF86 link errors


    *  which sdl-config
/usr/bin/sdl-config
    * sdl-config --version
1.2.3
    * locate libSDL
/usr/lib/libSDL-1.2.so.0.0.2
/usr/lib/libSDL-1.2.so.0
/usr/lib/libSDL_image-1.2.so.0.0.0
/usr/lib/libSDL_image-1.2.so.0
/usr/lib/libSDL_net-1.2.so.0.0.2
/usr/lib/libSDL_net-1.2.so.0
/usr/lib/libSDL_mixer-1.2.so.0.0.0
/usr/lib/libSDL_mixer-1.2.so.0
/usr/lib/libSDL.a
/usr/lib/libSDLmain.a

Which all seems fairly sensible to me.

	* sdl-config --cflags --libs
-I/usr/include/SDL -D_REENTRANT
-L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread

Which doesn't seem right. Now, I've no objection to messing around
building the X11 link lines, but I'm not sure I should and the FAQ
doesn't say I should have to. Especially since SDL depends on threads,
but supplies the thread link, but not the X11 link it also depends on.