help-guix
[Top][All Lists]
Advanced

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

Need help porting eDuke32


From: HiPhish
Subject: Need help porting eDuke32
Date: Sat, 16 Feb 2019 10:49:58 +0100

Hello everyone,

I have been trying to build eDuke32[1] (a Free source port of Duke Nukem 3D) 
with Guix following their instructions[2], but it looks like I am unable to 
set up the environment properly. I first created the following Guile script 
(omitting some version, source, description and synopsis for brevity):

    (define-public eduke32
      (package
        (name "eduke32")
        (build-system gnu-build-system)
        (arguments `())
        (native-inputs
          `(("pkg-config" ,pkg-config)))
        (inputs
          `(("sdl-union" ,(sdl-union (list sdl2 sdl2-mixer)))
            ("glu" ,glu)
            ("libvorbis" ,libvorbis)
            ("libvpx" ,libvpx)
            ("flac" ,flac)
            ("gtk+" ,gtk+-2)))))

Then I typed `guix environment --load=eduke32.scm` in my shell to set up the 
build environment, and executed `make`. This works at first, it builds the 
following files:

https://pastebin.com/FyJKK6BD

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?


[1] http://eduke32.com/
[2] https://wiki.eduke32.com/wiki/Building_EDuke32_on_Linux





reply via email to

[Prev in Thread] Current Thread [Next in Thread]