Closed libcg closed 10 years ago
It probably means that part of SDL mixer/mikmod just can't work. Closing because it's old and I guess you can fix that too @libcg :P
I am running into this problem now trying to compile some old game. Those do not seem like good reasons to close an issue..
Anyway, I found the the offending functions are used in all newer versions series 3.1, 3.2, and 3.3. However every instance of these functions (that I checked) is wrapped in a preprocessor clause
#if defined unix || (defined __APPLE__ && defined __MACH__)
...
#endif
Since we are compiling for PSP and not unix or MacOS, it should be simple to fix by adjusting some definitions when compiling mikmod.
Indeed, I found a definition for unix
in the makefiles:
> % grep -nr Dunix psp-ports/libmikmod
psp-ports/libmikmod/libmikmod/Makefile.in:32:CFLAGS=@CFLAGS@ -Dunix
Removing the definition resolves the errors listed here but reveals a couple remaining similar errors, which should also not be difficult to fix:
/usr/local/pspdev/lib/gcc/psp/4.8.5/../../../../psp/lib/libmikmod.a(drv_pipe.o): In function `pipe_Exit':
../drivers/drv_pipe.c:(.text+0xac): undefined reference to `pclose'
/usr/local/pspdev/lib/gcc/psp/4.8.5/../../../../psp/lib/libmikmod.a(drv_pipe.o): In function `pipe_Init':
../drivers/drv_pipe.c:(.text+0x130): undefined reference to `popen'
Here's what I get when I add -lSDL_mixer and -lmikmod to LIBS in my project's Makefile :
These functions are unavailable on the PSP.