Hello, HiPhish <hiph...@posteo.de> writes:
> Then it fails at this step: > > In file included from source/build/include/mutex.h:10:0, > from source/build/include/osd.h:12, > from source/build/include/baselayer.h:11, > from source/duke3d/src/duke3d.h:28, > from source/duke3d/src/sdlmusic.cpp:35: > source/build/include/sdl_inc.h:63:25: fatal error: SDL_mixer.h: No such > file or directory > compilation terminated. > Failed building obj/duke3d/sdlmusic.o from source/duke3d/src/sdlmusic.cpp! > make: *** [GNUmakefile:982: obj/duke3d/sdlmusic.o] Error 1 > > Looking into the offending file shows the following code: > > #if defined NEED_SDL_MIXER > > # if defined SDL_USEFOLDER > # if SDL_TARGET == 2 > # include <SDL2/SDL_mixer.h> > # else > # include <SDL/SDL_mixer.h> > # endif > # else > # include "SDL_mixer.h" > # endif > > The second-to-last line is line 63; the compiler looks for the header file in > the same directory as the source file, which is obviously wrong. So it seems > like my environment specification did not set up SDL properly. Can someone > who > has experience with SDL please help me out to understand what is going wrong > here? The 'include' keyword makes the compiler look for header files in $C_INCLUDE_PATH and a few other locations. The Guix daemon will populate that variable with all inputs that have an "include" directory. Running `guix build sdl2-mixer` shows that it has ".../include/SDL2/SDL_mixer.h". What's needed here is to make sure SDL_USEFOLDER is set such that it searches for <SDL2/SDL_mixer.h> as on line 58. Alternatively, you could substitute the code on line 63 to read 'include "SDL2/SDL_mixer.h"' as a probably dirty workaround. HTH!
signature.asc
Description: PGP signature