I'm trying to get the SDL module running. At first, it didn't want to configure; when I tried to debug more specifically, it happily configured and built the SDL module, but it wont run:
| > SDL; | Compiler Error: lib/modules/SDL.pmod:4:Illegal program pointer. | Compiler Error: 1:Undefined identifier "SDL".
| > ___SDL; | Compiler Error: 1:Error resolving '___SDL'. | Compiler Exception: load_module("/usr/local/pike/7.5.12/lib/modules/___SDL.so") failed: /usr/local/pike/7.5.12/lib/modules/___SDL.so: undefined symbol: SDL_JoystickEventState | /usr/local/pike/7.5.12/lib/master.pike:741: | master()->low_findprog("/usr/local/pike/7.5.12/lib/modules | /___SDL",".so",Tools.Hilfe.StdinHilfe()->HilfeCompileHandl | er(),1) | /usr/local/pike/7.5.12/lib/master.pike:797: | master()->findprog("/usr/local/pike/7.5.12/lib/modules/___ | SDL","",Tools.Hilfe.StdinHilfe()->HilfeCompileHandler(),1) | /usr/local/pike/7.5.12/lib/master.pike:828: | master()->low_cast_to_program("/usr/local/pike/7.5.12/lib/ | modules/___SDL","/.",Tools.Hilfe.StdinHilfe()->HilfeCompil | eHandler(),1) | /usr/local/pike/7.5.12/lib/master.pike:1005: | master()->low_cast_to_object("/usr/local/pike/7.5.12/lib/m | odules/___SDL","/.",Tools.Hilfe.StdinHilfe()->HilfeCompile | Handler()) | /usr/local/pike/7.5.12/lib/master.pike:1471: | master()->findmodule("/usr/local/pike/7.5.12/lib/modules/_ | __SDL",Tools.Hilfe.StdinHilfe()->HilfeCompileHandler()) | /usr/local/pike/7.5.12/lib/master.pike:1726: | master()->resolv_base("___SDL","HilfeInput",Tools.Hilfe.St | dinHilfe()->HilfeCompileHandler()) | /usr/local/pike/7.5.12/lib/master.pike:1802: | master()->resolv("___SDL","HilfeInput",Tools.Hilfe.StdinHi | lfe()->HilfeCompileHandler())
Anyone who has an idea, or should I try to hunt it down? Looks like it doesn't link with libsdl to me, which seems odd... (Gentoo, libsdl-1.2.6.)
What does ldd say?
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
Previous text:
2003-09-10 09:07: Subject: sdl
I'm trying to get the SDL module running. At first, it didn't want to configure; when I tried to debug more specifically, it happily configured and built the SDL module, but it wont run:
| > SDL; | Compiler Error: lib/modules/SDL.pmod:4:Illegal program pointer. | Compiler Error: 1:Undefined identifier "SDL".
| > ___SDL; | Compiler Error: 1:Error resolving '___SDL'. | Compiler Exception: load_module("/usr/local/pike/7.5.12/lib/modules/___SDL.so") failed: /usr/local/pike/7.5.12/lib/modules/___SDL.so: undefined symbol: SDL_JoystickEventState | /usr/local/pike/7.5.12/lib/master.pike:741: | master()->low_findprog("/usr/local/pike/7.5.12/lib/modules | /___SDL",".so",Tools.Hilfe.StdinHilfe()->HilfeCompileHandl | er(),1) | /usr/local/pike/7.5.12/lib/master.pike:797: | master()->findprog("/usr/local/pike/7.5.12/lib/modules/___ | SDL","",Tools.Hilfe.StdinHilfe()->HilfeCompileHandler(),1) | /usr/local/pike/7.5.12/lib/master.pike:828: | master()->low_cast_to_program("/usr/local/pike/7.5.12/lib/ | modules/___SDL","/.",Tools.Hilfe.StdinHilfe()->HilfeCompil | eHandler(),1) | /usr/local/pike/7.5.12/lib/master.pike:1005: | master()->low_cast_to_object("/usr/local/pike/7.5.12/lib/m | odules/___SDL","/.",Tools.Hilfe.StdinHilfe()->HilfeCompile | Handler()) | /usr/local/pike/7.5.12/lib/master.pike:1471: | master()->findmodule("/usr/local/pike/7.5.12/lib/modules/_ | __SDL",Tools.Hilfe.StdinHilfe()->HilfeCompileHandler()) | /usr/local/pike/7.5.12/lib/master.pike:1726: | master()->resolv_base("___SDL","HilfeInput",Tools.Hilfe.St | dinHilfe()->HilfeCompileHandler()) | /usr/local/pike/7.5.12/lib/master.pike:1802: | master()->resolv("___SDL","HilfeInput",Tools.Hilfe.StdinHi | lfe()->HilfeCompileHandler())
Anyone who has an idea, or should I try to hunt it down? Looks like it doesn't link with libsdl to me, which seems odd... (Gentoo, libsdl-1.2.6.)
/ Mirar
| % ldd /usr/local/pike/7.5.12/lib/modules/___SDL.so | libSDL_mixer-1.2.so.0 => /usr/lib/libSDL_mixer-1.2.so.0 (0x40021000) | libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x40060000) | libpthread.so.0 => /lib/libpthread.so.0 (0x400db000) | libc.so.6 => /lib/libc.so.6 (0x4012c000) | libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0x40258000) | libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x40260000) | libogg.so.0 => /usr/lib/libogg.so.0 (0x40280000) | libsmpeg-0.4.so.0 => /usr/lib/libsmpeg-0.4.so.0 (0x40284000) | libm.so.6 => /usr/lib/libm.so.6 (0x402e6000) | libdl.so.2 => /usr/lib/libdl.so.2 (0x40308000) | libasound.so.2 => /usr/lib/libasound.so.2 (0x4030b000) | libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x403b2000) | libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4048f000) | libvga.so.1 => /usr/lib/libvga.so.1 (0x4049e000) | /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) | libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/libstdc++.so.5 (0x40507000) | libgcc_s.so.1 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/libgcc_s.so.1 (0x405b7000)
Hmm.
/ Mirar
Previous text:
2003-09-10 13:18: Subject: sdl
What does ldd say?
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
Then presumably your SDL version simply doesn't have joystick support, and the configure.in needs more tests.
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
Previous text:
2003-09-10 13:19: Subject: sdl
| % ldd /usr/local/pike/7.5.12/lib/modules/___SDL.so | libSDL_mixer-1.2.so.0 => /usr/lib/libSDL_mixer-1.2.so.0 (0x40021000) | libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x40060000) | libpthread.so.0 => /lib/libpthread.so.0 (0x400db000) | libc.so.6 => /lib/libc.so.6 (0x4012c000) | libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0x40258000) | libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x40260000) | libogg.so.0 => /usr/lib/libogg.so.0 (0x40280000) | libsmpeg-0.4.so.0 => /usr/lib/libsmpeg-0.4.so.0 (0x40284000) | libm.so.6 => /usr/lib/libm.so.6 (0x402e6000) | libdl.so.2 => /usr/lib/libdl.so.2 (0x40308000) | libasound.so.2 => /usr/lib/libasound.so.2 (0x4030b000) | libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x403b2000) | libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4048f000) | libvga.so.1 => /usr/lib/libvga.so.1 (0x4049e000) | /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) | libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/libstdc++.so.5 (0x40507000) | libgcc_s.so.1 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/libgcc_s.so.1 (0x405b7000)
Hmm.
/ Mirar
I have now put in a configure test for those "Joystick" functions. Can anyone with working Joystick support in SDL check if it's still there for you?
/ Mirar
Previous text:
2003-09-10 13:21: Subject: sdl
Then presumably your SDL version simply doesn't have joystick support, and the configure.in needs more tests.
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
SDL.so is built with joystick support but libSDL is not. As far as I know there's no way to detect this using ifdef or what not, so a test should probably be created to test this at configure time. Alternatively, the joystick code can be put in a separate Pike .so module so tha SDL works even if SDL.Joystick or whatever doesn't.
/ David Hedbor
Previous text:
2003-09-10 09:07: Subject: sdl
I'm trying to get the SDL module running. At first, it didn't want to configure; when I tried to debug more specifically, it happily configured and built the SDL module, but it wont run:
| > SDL; | Compiler Error: lib/modules/SDL.pmod:4:Illegal program pointer. | Compiler Error: 1:Undefined identifier "SDL".
| > ___SDL; | Compiler Error: 1:Error resolving '___SDL'. | Compiler Exception: load_module("/usr/local/pike/7.5.12/lib/modules/___SDL.so") failed: /usr/local/pike/7.5.12/lib/modules/___SDL.so: undefined symbol: SDL_JoystickEventState | /usr/local/pike/7.5.12/lib/master.pike:741: | master()->low_findprog("/usr/local/pike/7.5.12/lib/modules | /___SDL",".so",Tools.Hilfe.StdinHilfe()->HilfeCompileHandl | er(),1) | /usr/local/pike/7.5.12/lib/master.pike:797: | master()->findprog("/usr/local/pike/7.5.12/lib/modules/___ | SDL","",Tools.Hilfe.StdinHilfe()->HilfeCompileHandler(),1) | /usr/local/pike/7.5.12/lib/master.pike:828: | master()->low_cast_to_program("/usr/local/pike/7.5.12/lib/ | modules/___SDL","/.",Tools.Hilfe.StdinHilfe()->HilfeCompil | eHandler(),1) | /usr/local/pike/7.5.12/lib/master.pike:1005: | master()->low_cast_to_object("/usr/local/pike/7.5.12/lib/m | odules/___SDL","/.",Tools.Hilfe.StdinHilfe()->HilfeCompile | Handler()) | /usr/local/pike/7.5.12/lib/master.pike:1471: | master()->findmodule("/usr/local/pike/7.5.12/lib/modules/_ | __SDL",Tools.Hilfe.StdinHilfe()->HilfeCompileHandler()) | /usr/local/pike/7.5.12/lib/master.pike:1726: | master()->resolv_base("___SDL","HilfeInput",Tools.Hilfe.St | dinHilfe()->HilfeCompileHandler()) | /usr/local/pike/7.5.12/lib/master.pike:1802: | master()->resolv("___SDL","HilfeInput",Tools.Hilfe.StdinHi | lfe()->HilfeCompileHandler())
Anyone who has an idea, or should I try to hunt it down? Looks like it doesn't link with libsdl to me, which seems odd... (Gentoo, libsdl-1.2.6.)
/ Mirar
Precisely, my header files have all the joystick functions in them, so I wonder where they went in libsdl... I feel the functions should all be in there somewhere, even if my OS doesn't support joysticks, but I don't know enough SDL to figure out that, so I'll just add configure tests for now.
/ Mirar
Previous text:
2003-09-10 17:39: Subject: sdl
SDL.so is built with joystick support but libSDL is not. As far as I know there's no way to detect this using ifdef or what not, so a test should probably be created to test this at configure time. Alternatively, the joystick code can be put in a separate Pike .so module so tha SDL works even if SDL.Joystick or whatever doesn't.
/ David Hedbor
pike-devel@lists.lysator.liu.se