EDuke32 (Duke Nukem 3D clone) - ac-minetest/COMPILING_FOR_RPI4 GitHub Wiki

Eduke32

1.DEPENDENCIES:

sudo apt-get install -y build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libsdl2-dev libsdl2-mixer-dev flac libflac-dev libvorbis-dev libvpx-dev libgtk2.0-dev freepats
(if some fail try 'sudo apt-get update' first)

2.SOURCES

wget http://dukeworld.duke4.net/eduke32/synthesis/20181118-7241/eduke32_src_20181118-7241.tar.xz
mkdir eduke32
tar -xvf eduke32_src_20181118-7241.tar.xz -C ./eduke32 --strip-components=1
(note: strip-components here removes 1 leading folder name from extracted file names)
SOURCE FIXES:
  1. source/duke3d/src/startgtk.game.cpp add missing 'int' declaration using to glrendmode = (settings.polymer) ? REND_POLYMER : REND_POLYMOST so it becomes: int glrendmode = (settings.polymer) ? REND_POLYMER : REND_POLYMOST

  2. COMPILING: (takes ~7 minutes)

    make USE_OPENGL=0

NOTES: when using latest sources http://dukeworld.com/eduke32/synthesis/latest/eduke32_src_20191209-8421.tar.xz we get additional errors: 1. source/build/include/zpl.h: inside zpl_inline zpl_u64 zpl_rdtsc(void), after "#elif (__ARM_ARCH >= 6)" add declaration uint32_t r = 0;

  1. LINKER ERROR related to enet ( they changed enet integration but it doesnt work now ). how to fix? /usr/bin/ld: /tmp/ccrfxJ1X.ltrans10.ltrans.o: in function `enet_time_get': <artificial>:(.text+0xd99c): undefined reference to `atomic_load_8' /usr/bin/ld: <artificial>:(.text+0xd9f8): undefined reference to `atomic_compare_exchange_8' collect2: error: ld returned 1 exit status Failed linking eduke32! If the build options, environment, or system packages have changed, run \'make clean\' and try again. make: * [GNUmakefile:961: eduke32] Error 1

⚠️ **GitHub.com Fallback** ⚠️