From mboxrd@z Thu Jan 1 00:00:00 1970 From: HiPhish Subject: Need help porting eDuke32 Date: Sat, 16 Feb 2019 10:49:58 +0100 Message-ID: <2813443.L9NyMg9ZKX@aleksandar-ixtreme-m5740> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Return-path: Received: from eggs.gnu.org ([209.51.188.92]:38586) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1guwbz-0005cY-RW for help-guix@gnu.org; Sat, 16 Feb 2019 04:50:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1guwby-0005My-1I for help-guix@gnu.org; Sat, 16 Feb 2019 04:50:19 -0500 Received: from mout01.posteo.de ([185.67.36.65]:34724) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1guwbw-0004xR-2g for help-guix@gnu.org; Sat, 16 Feb 2019 04:50:17 -0500 Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id ECD1616005E for ; Sat, 16 Feb 2019 10:50:05 +0100 (CET) Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 441ljS6PDtz6tmB for ; Sat, 16 Feb 2019 10:50:04 +0100 (CET) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: help-guix@gnu.org 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 # else # include # 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