Package Details: odamex 10.1.0-2

Git Clone URL: https://aur.archlinux.org/odamex.git (read-only, click to copy)
Package Base: odamex
Description: A free client/server multiplayer engine for the classic FPS Doom.
Upstream URL: http://odamex.net/
Licenses: GPL
Submitter: None
Maintainer: miffe
Last Packager: miffe
Votes: 14
Popularity: 0.29
First Submitted: 2007-02-26 16:18 (UTC)
Last Updated: 2022-04-30 18:53 (UTC)

Latest Comments

loqy commented on 2022-04-30 03:23 (UTC)

I agree with danmc. I get this warning when building:

CMake Warning at wad/CMakeLists.txt:380 (message):
  Could NOT find DeuTex, ODAMEX.WAD will not be built.

danmc commented on 2022-03-09 23:28 (UTC) (edited on 2022-03-09 23:58 (UTC) by danmc)

It looks like Asriel and dpflug suggested adding deutex as a makedepends last year and I'd like to add another voice behind that suggestion. The package builds without it, but the program is unusable without odamex.wad. Installing deutex post build does not resolve the issue since it's called during the build process.

I'm also wondering if anyone has background music working. I tried copying my timidity config to the path odamex looks for (/etc/timidity++/freepats.cfg) as well as setting my SDL_SOUNDFONTS environment variable (to quite a few different soundfonts), but haven't had any luck. I've tried it with both timidity and fluidsynth daemons running and not running. I'm not seeing any errors.

EDIT: I solved my music issue! For anyone with a similar issue, aconnect -o had the following output:

$ aconnect -o

client 14: 'Midi Through' [type=kernel]
 0 'Midi Through Port-0'
client 128: 'TiMidity' [type=user,pid=766213]
 0 'TiMidity port 0 '
 1 'TiMidity port 1 '
 2 'TiMidity port 2 '
 3 'TiMidity port 3 '

I think odamex was defaulting to client 14 instead of 128 for timidity. All I had to do was the following:

$ aconnect 14:0 128:0

then set my sound in odamex to PORTMIDI and all is good.

niobium93 commented on 2022-03-01 01:47 (UTC)

Here's a PKGBUILD for Odamex 10.0.0

MagnusW commented on 2021-11-18 14:44 (UTC)

Does not build for me either in a clean container. The same error as @loqy. Seems to be related to the use of -Werror=format-security in CFLAGS/CXXFLAGS in /etc/makepkg.conf, which seems to be standard. Removing or nullifying that flag with -Wno-format-security does the trick for me, and it builds.

It seems to be a known issue, documented here: https://github.com/odamex/odamex/issues/421

miffe commented on 2021-09-03 00:24 (UTC)

@loqy: Builds fine in a clean up to date chroot for me. In what environment are you building this. Do you have some custom CFLAGS or something?

Also pastebin your buildlogs, it sucks to read them here.

loqy commented on 2021-08-25 00:35 (UTC)

@miffe Right away

[redacted@arch:~]% paru -S odamex
:: Resolving dependencies...
:: Calculating conflicts...
:: Calculating inner conflicts...

Repo (2) wxgtk2-3.0.5.1-2  miniupnpc-2.2.2-1
Aur (1) odamex-0.9.3-1

:: Proceed to review? [Y/n]: y

:: Downloading PKGBUILDs...
 PKGBUILDs up to date
 nothing new to review
[sudo] password for redacted: 
resolving dependencies...
looking for conflicting packages...

Packages (2) miniupnpc-2.2.2-1  wxgtk2-3.0.5.1-2

Total Installed Size:  16.80 MiB

:: Proceed with installation? [Y/n] y
(2/2) checking keys in keyring                                                                                                                                              [##########################################################################################################] 100%
(2/2) checking package integrity                                                                                                                                            [##########################################################################################################] 100%
(2/2) loading package files                                                                                                                                                 [##########################################################################################################] 100%
(2/2) checking for file conflicts                                                                                                                                           [##########################################################################################################] 100%
(2/2) checking available disk space                                                                                                                                         [##########################################################################################################] 100%
:: Processing package changes...
(1/2) installing wxgtk2                                                                                                                                                     [##########################################################################################################] 100%
(2/2) installing miniupnpc                                                                                                                                                  [##########################################################################################################] 100%
:: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Refreshing PackageKit...
fetching devel info...
==> Making package: odamex 0.9.3-1 (Tue 24 Aug 2021 07:29:03 PM CDT)
==> Retrieving sources...
  -> Found odamex-src-0.9.3.tar.bz2
==> Validating source files with sha256sums...
    odamex-src-0.9.3.tar.bz2 ... Passed
==> Making package: odamex 0.9.3-1 (Tue 24 Aug 2021 07:29:04 PM CDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found odamex-src-0.9.3.tar.bz2
==> Validating source files with sha256sums...
    odamex-src-0.9.3.tar.bz2 ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting odamex-src-0.9.3.tar.bz2 with bsdtar
==> Starting prepare()...
==> Sources are ready.
odamex-0.9.3-1: parsing pkg list...
==> Making package: odamex 0.9.3-1 (Tue 24 Aug 2021 07:29:08 PM CDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Removing existing $pkgdir/ directory...
==> Starting build()...
-- The C compiler identification is GNU 11.1.0
-- The CXX compiler identification is GNU 11.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Target architecture: amd64
-- Build Type: Release
-- Export Compile Commands: ON
-- Found ZLIB: /usr/lib/libz.so (found version "1.2.11") 
-- Found CURL: /usr/lib/libcurl.so (found version "7.78.0")  
-- Compiling JsonCpp...
-- The CXX compiler identification is GNU 11.1.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_C_COMPILER
    CMAKE_RC_COMPILER


-- Build files have been written to: /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/jsoncpp-build
[ 50%] Building CXX object CMakeFiles/jsoncpp.dir/jsoncpp.cpp.o
In member function ‘bool Json::Value::CZString::operator==(const Json::Value::CZString&) const’,
    inlined from ‘Json::Value& Json::Value::operator[](Json::Value::ArrayIndex)’ at /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/jsoncpp/jsoncpp.cpp:2618:51:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/jsoncpp/jsoncpp.cpp:1737:20: warning: argument 2 null where non-null expected [-Wnonnull]
 1737 |       return strcmp( cstr_, other.cstr_ ) == 0;
      |              ~~~~~~^~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11.1.0/cstring:42,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/jsoncpp/jsoncpp.cpp:203:
/usr/include/string.h: In member function ‘Json::Value& Json::Value::operator[](Json::Value::ArrayIndex)’:
/usr/include/string.h:140:12: note: in a call to function ‘int strcmp(const char*, const char*)’ declared ‘nonnull’
  140 | extern int strcmp (const char *__s1, const char *__s2)
      |            ^~~~~~
[100%] Linking CXX static library libjsoncpp.a
[100%] Built target jsoncpp
Install the project...
-- Install configuration: "Release"
-- Installing: /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/local/lib/libjsoncpp.a
-- Installing: /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/local/include/json/json.h
-- Installing: /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/local/include/json/json-forwards.h
-- Found ZLIB: /usr/lib/libz.so (found version "1.2.11") 
-- Found PNG: /usr/lib/libpng.so (found version "1.6.37") 
-- Compiling MiniUPnPc...
-- The C compiler identification is GNU 11.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_INSTALL_LIBDIR
    CMAKE_RC_COMPILER


-- Build files have been written to: /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/libminiupnpc-build
[ 14%] Building C object CMakeFiles/upnpc-static.dir/miniupnpc.c.o
[ 14%] Building C object CMakeFiles/upnpc-static.dir/igd_desc_parse.c.o
[ 21%] Building C object CMakeFiles/upnpc-static.dir/minixml.c.o
[ 28%] Building C object CMakeFiles/upnpc-static.dir/upnpcommands.c.o
[ 35%] Building C object CMakeFiles/upnpc-static.dir/minisoap.c.o
[ 42%] Building C object CMakeFiles/upnpc-static.dir/upnpc.c.o
[ 57%] Building C object CMakeFiles/upnpc-static.dir/miniwget.c.o
[ 50%] Building C object CMakeFiles/upnpc-static.dir/upnpreplyparse.c.o
[ 64%] Building C object CMakeFiles/upnpc-static.dir/upnperrors.c.o
[ 71%] Building C object CMakeFiles/upnpc-static.dir/connecthostport.c.o
[ 78%] Building C object CMakeFiles/upnpc-static.dir/portlistingparse.c.o
[ 85%] Building C object CMakeFiles/upnpc-static.dir/receivedata.c.o
[ 92%] Building C object CMakeFiles/upnpc-static.dir/minissdpc.c.o
[100%] Linking C static library libminiupnpc.a
[100%] Built target upnpc-static
Install the project...
-- Install configuration: "RelWithDebInfo"
-- Installing: /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/local/lib/libminiupnpc.a
-- Installing: /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/local/include/miniupnpc/miniupnpc.h
-- Installing: /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/local/include/miniupnpc/miniwget.h
-- Installing: /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/local/include/miniupnpc/upnpcommands.h
-- Installing: /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/local/include/miniupnpc/igd_desc_parse.h
-- Installing: /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/local/include/miniupnpc/upnpreplyparse.h
-- Installing: /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/local/include/miniupnpc/upnperrors.h
-- Installing: /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/local/include/miniupnpc/miniupnpctypes.h
-- Installing: /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/local/include/miniupnpc/portlistingparse.h
-- Installing: /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/libraries/local/include/miniupnpc/declspec.h
-- Found SDL2: /usr/include/SDL2 (found version "2.0.16") 
-- Found SDL2_mixer: /usr/include/SDL2 (found version "2.0.4") 
CMake Warning at wad/CMakeLists.txt:283 (message):
  Could NOT find DeuTex, ODAMEX.WAD will not be built.


-- Found X11: /usr/include   
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found PortMidi: /usr/lib/libportmidi.so  
-- Performing Test W_DUPLICATED_COND
-- Performing Test W_DUPLICATED_COND - Success
-- Performing Test W_DUPLICATED_BRANCHES
-- Performing Test W_DUPLICATED_BRANCHES - Success
-- Performing Test W_RESTRICT
-- Performing Test W_RESTRICT - Success
-- Performing Test W_NULL_DEREFERENCE
-- Performing Test W_NULL_DEREFERENCE - Success
-- Performing Test W_USELESS_CAST
-- Performing Test W_USELESS_CAST - Success
-- Performing Test W_FORMAT_2
-- Performing Test W_FORMAT_2 - Success
-- Performing Test W_NO_UNUSED_PARAMETER
-- Performing Test W_NO_UNUSED_PARAMETER - Success
-- Default SIMD flags not touched for AMD64
CMake Warning at cmake/modules/OdamexCopyWad.cmake:8 (message):
  Unable to copy ODAMEX.WAD to odamex without anything to copy
Call Stack (most recent call first):
  client/CMakeLists.txt:230 (odamex_copy_wad)


-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
CMake Warning at cmake/modules/OdamexCopyWad.cmake:8 (message):
  Unable to copy ODAMEX.WAD to odasrv without anything to copy
Call Stack (most recent call first):
  server/CMakeLists.txt:72 (odamex_copy_wad)


-- Found wxWidgets: -pthread;;;-lwx_gtk2u_core-3.0;-lwx_baseu-3.0;-lwx_gtk2u_adv-3.0;-lwx_baseu_net-3.0;-lwx_gtk2u_xrc-3.0 (found version "3.0.5") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3
[  0%] Building C object client/CMakeFiles/textscreen.dir/__/libraries/textscreen/txt_sdl.c.o
[  1%] Linking C static library libtextscreen.a
[  1%] Built target textscreen
[  1%] Building CXX object client/CMakeFiles/odamex.dir/src/am_map.cpp.o
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:28:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./g_level.h:40:29: warning: scoped enums only available with ‘-std=c++11’ or ‘-std=gnu++11’
   40 | enum OLevelFlags : unsigned int
      |                             ^~~
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./r_defs.h:39,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./r_data.h:29,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./r_local.h:36,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./p_local.h:29,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:31:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h: In member function ‘AActor::AActorPtr AActor::ptr()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h:478:33: warning: useless cast to type ‘AActor::AActorPtr’ {aka ‘class szp<AActor>’} [-Wuseless-cast]
  478 |         AActorPtr ptr(){ return AActorPtr(self); }
      |                                 ^~~~~~~~~~~~~~~
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:43:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/sdl/i_video.h: At global scope:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/sdl/i_video.h:233:17: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
  233 |         virtual const EDisplayType getDisplayType() const = 0;
      |                 ^~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/sdl/i_video.h:280:17: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
  280 |         virtual const EDisplayType getDisplayType() const
      |                 ^~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:239:60: warning: useless cast to type ‘fixed_t’ {aka ‘int’} [-Wuseless-cast]
  239 | #define L(a,b,c,d) { {(fixed_t)((a)*R),(fixed_t)((b)*R)}, {(fixed_t)((c)*R),(fixed_t)((d)*R)} }
      |                                                            ^~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:242:9: note: in expansion of macro ‘L’
  242 |         L (.867,-.5, 0,1),
      |         ^
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:239:77: warning: useless cast to type ‘fixed_t’ {aka ‘int’} [-Wuseless-cast]
  239 | #define L(a,b,c,d) { {(fixed_t)((a)*R),(fixed_t)((b)*R)}, {(fixed_t)((c)*R),(fixed_t)((d)*R)} }
      |                                                                             ^~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:242:9: note: in expansion of macro ‘L’
  242 |         L (.867,-.5, 0,1),
      |         ^
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:239:23: warning: useless cast to type ‘fixed_t’ {aka ‘int’} [-Wuseless-cast]
  239 | #define L(a,b,c,d) { {(fixed_t)((a)*R),(fixed_t)((b)*R)}, {(fixed_t)((c)*R),(fixed_t)((d)*R)} }
      |                       ^~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:243:9: note: in expansion of macro ‘L’
  243 |         L (0,1, -.867,-.5)
      |         ^
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:239:40: warning: useless cast to type ‘fixed_t’ {aka ‘int’} [-Wuseless-cast]
  239 | #define L(a,b,c,d) { {(fixed_t)((a)*R),(fixed_t)((b)*R)}, {(fixed_t)((c)*R),(fixed_t)((d)*R)} }
      |                                        ^~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:243:9: note: in expansion of macro ‘L’
  243 |         L (0,1, -.867,-.5)
      |         ^
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:239:60: warning: useless cast to type ‘fixed_t’ {aka ‘int’} [-Wuseless-cast]
  239 | #define L(a,b,c,d) { {(fixed_t)((a)*R),(fixed_t)((b)*R)}, {(fixed_t)((c)*R),(fixed_t)((d)*R)} }
      |                                                            ^~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:248:9: note: in expansion of macro ‘L’
  248 |         L (-.5,-.7, 1,0),
      |         ^
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:239:77: warning: useless cast to type ‘fixed_t’ {aka ‘int’} [-Wuseless-cast]
  239 | #define L(a,b,c,d) { {(fixed_t)((a)*R),(fixed_t)((b)*R)}, {(fixed_t)((c)*R),(fixed_t)((d)*R)} }
      |                                                                             ^~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:248:9: note: in expansion of macro ‘L’
  248 |         L (-.5,-.7, 1,0),
      |         ^
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:239:23: warning: useless cast to type ‘fixed_t’ {aka ‘int’} [-Wuseless-cast]
  239 | #define L(a,b,c,d) { {(fixed_t)((a)*R),(fixed_t)((b)*R)}, {(fixed_t)((c)*R),(fixed_t)((d)*R)} }
      |                       ^~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:249:9: note: in expansion of macro ‘L’
  249 |         L (1,0, -.5,.7),
      |         ^
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:239:40: warning: useless cast to type ‘fixed_t’ {aka ‘int’} [-Wuseless-cast]
  239 | #define L(a,b,c,d) { {(fixed_t)((a)*R),(fixed_t)((b)*R)}, {(fixed_t)((c)*R),(fixed_t)((d)*R)} }
      |                                        ^~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:249:9: note: in expansion of macro ‘L’
  249 |         L (1,0, -.5,.7),
      |         ^
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp: In function ‘void AM_drawFlineP(fline_t*, byte)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:1127:61: warning: useless cast to type ‘byte’ {aka ‘unsigned char’} [-Wuseless-cast]
 1127 |                                                 PUTDOTP(x,y,(byte)color);
      |                                                             ^~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:172:46: note: in definition of macro ‘PUTDOTP’
  172 | #define PUTDOTP(xx,yy,cc) fb[(yy)*f_p+(xx)]=(cc)
      |                                              ^~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:1143:63: warning: useless cast to type ‘byte’ {aka ‘unsigned char’} [-Wuseless-cast]
 1143 |                                                 PUTDOTP(x, y, (byte)color);
      |                                                               ^~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:172:46: note: in definition of macro ‘PUTDOTP’
  172 | #define PUTDOTP(xx,yy,cc) fb[(yy)*f_p+(xx)]=(cc)
      |                                              ^~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp: In function ‘void AM_drawCrosshair(am_color_t)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:1630:43: warning: useless cast to type ‘byte’ {aka ‘unsigned char’} [-Wuseless-cast]
 1630 |                 PUTDOTP(f_w/2, (f_h+1)/2, (byte)color.index);
      |                                           ^~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:172:46: note: in definition of macro ‘PUTDOTP’
  172 | #define PUTDOTP(xx,yy,cc) fb[(yy)*f_p+(xx)]=(cc)
      |                                              ^~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp: At global scope:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/am_map.cpp:324:13: warning: ‘followplayer’ defined but not used [-Wunused-variable]
  324 | static bool followplayer = true; // specifies whether to follow the player around
      |             ^~~~~~~~~~~~
[  1%] Building CXX object client/CMakeFiles/odamex.dir/src/c_bind.cpp.o
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_bind.cpp:34:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./g_level.h:40:29: warning: scoped enums only available with ‘-std=c++11’ or ‘-std=gnu++11’
   40 | enum OLevelFlags : unsigned int
      |                             ^~~
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./d_player.h:50,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_bind.cpp:37:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h: In member function ‘AActor::AActorPtr AActor::ptr()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h:478:33: warning: useless cast to type ‘AActor::AActorPtr’ {aka ‘class szp<AActor>’} [-Wuseless-cast]
  478 |         AActorPtr ptr(){ return AActorPtr(self); }
      |                                 ^~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_bind.cpp: In member function ‘void OKeyBindings::ArchiveBindings(FILE*)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_bind.cpp:429:13: warning: unused variable ‘i’ [-Wunused-variable]
  429 |         int i;
      |             ^
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_bind.cpp: In member function ‘virtual void Cmd_bind::Run(uint32_t)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_bind.cpp:584:39: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
  584 |         Bindings.BindAKey(argc, argv, "Current key bindings: ");
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_bind.cpp: In member function ‘virtual void Cmd_doublebind::Run(uint32_t)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_bind.cpp:609:45: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
  609 |         DoubleBindings.BindAKey(argc, argv, "Current doublebindings: ");
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_bind.cpp: In member function ‘virtual void Cmd_ambind::Run(uint32_t)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_bind.cpp:634:46: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
  634 |         AutomapBindings.BindAKey(argc, argv, "Current automap bindings: ");
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_bind.cpp: In member function ‘virtual void Cmd_netdemobind::Run(uint32_t)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_bind.cpp:662:46: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
  662 |         AutomapBindings.BindAKey(argc, argv, "Current netdemomap bindings: ");
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[  2%] Building CXX object client/CMakeFiles/odamex.dir/src/c_console.cpp.o
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./d_player.h:50,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./g_game.h:30,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_console.cpp:30:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h: In member function ‘AActor::AActorPtr AActor::ptr()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h:478:33: warning: useless cast to type ‘AActor::AActorPtr’ {aka ‘class szp<AActor>’} [-Wuseless-cast]
  478 |         AActorPtr ptr(){ return AActorPtr(self); }
      |                                 ^~~~~~~~~~~~~~~
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./g_game.h:31,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_console.cpp:30:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./g_level.h: At global scope:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./g_level.h:40:29: warning: scoped enums only available with ‘-std=c++11’ or ‘-std=gnu++11’
   40 | enum OLevelFlags : unsigned int
      |                             ^~~
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_console.cpp:36:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/sdl/i_video.h:233:17: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
  233 |         virtual const EDisplayType getDisplayType() const = 0;
      |                 ^~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/sdl/i_video.h:280:17: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
  280 |         virtual const EDisplayType getDisplayType() const
      |                 ^~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_console.cpp: In function ‘void C_DrawConsole()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_console.cpp:1645:54: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘ptrdiff_t’ {aka ‘long int’} [-Wsign-compare]
 1645 |                                 for (size_t i = 0; i < barchars; i++)
      |                                                    ~~^~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_console.cpp:1650:52: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘ptrdiff_t’ {aka ‘long int’} [-Wsign-compare]
 1650 |                                         else if (i == barchars - 1)
      |                                                  ~~^~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_console.cpp: In function ‘bool C_HandleKey(const event_t*)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_console.cpp:1871:46: warning: useless cast to type ‘int’ [-Wuseless-cast]
 1871 |                         if ((int)(ConRows) > (int)(ConBottom / 8))
      |                                              ^~~~~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_console.cpp:1896:25: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
 1896 |                         else
      |                         ^~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_console.cpp:1898:33: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
 1898 |                                 return true;
      |                                 ^~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_console.cpp: In function ‘void C_MidPrint(const char*, player_t*, int)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_console.cpp:2140:37: warning: useless cast to type ‘int’ [-Wuseless-cast]
 2140 |                         MidTicker = (int)(msgtime * TICRATE) + gametic;
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_console.cpp: In function ‘void C_GMidPrint(const char*, int, int)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/c_console.cpp:2219:38: warning: useless cast to type ‘int’ [-Wuseless-cast]
 2219 |                         GameTicker = (int)(msgtime * TICRATE) + gametic;
      |                                      ^~~~~~~~~~~~~~~~~~~~~~~~
[  2%] Building CXX object client/CMakeFiles/odamex.dir/src/cl_ctf.cpp.o
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./doomstat.h:37,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_ctf.cpp:23:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./g_level.h:40:29: warning: scoped enums only available with ‘-std=c++11’ or ‘-std=gnu++11’
   40 | enum OLevelFlags : unsigned int
      |                             ^~~
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./teaminfo.h:6,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./d_netinf.h:30,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./doomstat.h:41,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_ctf.cpp:23:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h: In member function ‘AActor::AActorPtr AActor::ptr()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h:478:33: warning: useless cast to type ‘AActor::AActorPtr’ {aka ‘class szp<AActor>’} [-Wuseless-cast]
  478 |         AActorPtr ptr(){ return AActorPtr(self); }
      |                                 ^~~~~~~~~~~~~~~
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_ctf.cpp:29:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/sdl/i_video.h: At global scope:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/sdl/i_video.h:233:17: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
  233 |         virtual const EDisplayType getDisplayType() const = 0;
      |                 ^~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/sdl/i_video.h:280:17: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
  280 |         virtual const EDisplayType getDisplayType() const
      |                 ^~~~~
[  2%] Building CXX object client/CMakeFiles/odamex.dir/src/cl_cvarlist.cpp.o
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./doomstat.h:37,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/sdl/i_music.h:28,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_cvarlist.cpp:26:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./g_level.h:40:29: warning: scoped enums only available with ‘-std=c++11’ or ‘-std=gnu++11’
   40 | enum OLevelFlags : unsigned int
      |                             ^~~
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./teaminfo.h:6,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./d_netinf.h:30,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./doomstat.h:41,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/sdl/i_music.h:28,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_cvarlist.cpp:26:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h: In member function ‘AActor::AActorPtr AActor::ptr()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h:478:33: warning: useless cast to type ‘AActor::AActorPtr’ {aka ‘class szp<AActor>’} [-Wuseless-cast]
  478 |         AActorPtr ptr(){ return AActorPtr(self); }
      |                                 ^~~~~~~~~~~~~~~
[  3%] Building CXX object client/CMakeFiles/odamex.dir/src/cl_demo.cpp.o
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./r_defs.h:39,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.h:30,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_demo.cpp:26:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h: In member function ‘AActor::AActorPtr AActor::ptr()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h:478:33: warning: useless cast to type ‘AActor::AActorPtr’ {aka ‘class szp<AActor>’} [-Wuseless-cast]
  478 |         AActorPtr ptr(){ return AActorPtr(self); }
      |                                 ^~~~~~~~~~~~~~~
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./r_main.h:29,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./r_local.h:41,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./p_local.h:29,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./p_ctf.h:27,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_demo.cpp:27:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./g_level.h: At global scope:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./g_level.h:40:29: warning: scoped enums only available with ‘-std=c++11’ or ‘-std=gnu++11’
   40 | enum OLevelFlags : unsigned int
      |                             ^~~
In file included from /usr/include/string.h:519,
                 from /usr/include/c++/11.1.0/cstring:42,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./huffman.h:38,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./i_net.h:29,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.h:28,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_demo.cpp:26:
In function ‘char* strncpy(char*, const char*, size_t)’,
    inlined from ‘bool NetDemo::writeHeader()’ at /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_demo.cpp:172:9:
/usr/include/bits/string_fortified.h:95:34: warning: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation]
   95 |   return __builtin___strncpy_chk (__dest, __src, __len,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   96 |                                   __glibc_objsize (__dest));
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
[  3%] Building CXX object client/CMakeFiles/odamex.dir/src/cl_download.cpp.o
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./r_defs.h:39,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.h:30,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_download.cpp:29:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h: In member function ‘AActor::AActorPtr AActor::ptr()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h:478:33: warning: useless cast to type ‘AActor::AActorPtr’ {aka ‘class szp<AActor>’} [-Wuseless-cast]
  478 |         AActorPtr ptr(){ return AActorPtr(self); }
      |                                 ^~~~~~~~~~~~~~~
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./doomstat.h:37,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_download.cpp:31:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./g_level.h: At global scope:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./g_level.h:40:29: warning: scoped enums only available with ‘-std=c++11’ or ‘-std=gnu++11’
   40 | enum OLevelFlags : unsigned int
      |                             ^~~
[  3%] Building CXX object client/CMakeFiles/odamex.dir/src/cl_game.cpp.o
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./doomstat.h:37,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_game.cpp:29:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./g_level.h:40:29: warning: scoped enums only available with ‘-std=c++11’ or ‘-std=gnu++11’
   40 | enum OLevelFlags : unsigned int
      |                             ^~~
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./teaminfo.h:6,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./d_netinf.h:30,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./doomstat.h:41,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_game.cpp:29:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h: In member function ‘AActor::AActorPtr AActor::ptr()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h:478:33: warning: useless cast to type ‘AActor::AActorPtr’ {aka ‘class szp<AActor>’} [-Wuseless-cast]
  478 |         AActorPtr ptr(){ return AActorPtr(self); }
      |                                 ^~~~~~~~~~~~~~~
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_game.cpp:38:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/sdl/i_video.h: At global scope:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/sdl/i_video.h:233:17: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
  233 |         virtual const EDisplayType getDisplayType() const = 0;
      |                 ^~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/sdl/i_video.h:280:17: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
  280 |         virtual const EDisplayType getDisplayType() const
      |                 ^~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_game.cpp: In member function ‘virtual void Cmd_turnspeeds::Run(uint32_t)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_game.cpp:298:61: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘fixed_t’ {aka ‘int’} [-Wformat=]
  298 |                 Printf (PRINT_HIGH, "Current turn speeds: %ld %ld %ld\n",
      |                                                           ~~^
      |                                                             |
      |                                                             long int
      |                                                           %d
  299 |                                 angleturn[0], angleturn[1], angleturn[2]);
      |                                 ~~~~~~~~~~~~                 
      |                                            |
      |                                            fixed_t {aka int}
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_game.cpp:298:65: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has type ‘fixed_t’ {aka ‘int’} [-Wformat=]
  298 |                 Printf (PRINT_HIGH, "Current turn speeds: %ld %ld %ld\n",
      |                                                               ~~^
      |                                                                 |
      |                                                                 long int
      |                                                               %d
  299 |                                 angleturn[0], angleturn[1], angleturn[2]);
      |                                               ~~~~~~~~~~~~       
      |                                                          |
      |                                                          fixed_t {aka int}
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_game.cpp:298:69: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has type ‘fixed_t’ {aka ‘int’} [-Wformat=]
  298 |                 Printf (PRINT_HIGH, "Current turn speeds: %ld %ld %ld\n",
      |                                                                   ~~^
      |                                                                     |
      |                                                                     long int
      |                                                                   %d
  299 |                                 angleturn[0], angleturn[1], angleturn[2]);
      |                                                             ~~~~~~~~~~~~
      |                                                                        |
      |                                                                        fixed_t {aka int}
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_game.cpp: In function ‘void G_BuildTiccmd(ticcmd_t*)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_game.cpp:446:26: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
  446 |         if (joy_freelook && sv_freelook || consoleplayer().spectator)
      |             ~~~~~~~~~~~~~^~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_game.cpp: In function ‘void G_ReadDemoTiccmd()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_game.cpp:1671:48: warning: useless cast to type ‘unsigned char’ [-Wuseless-cast]
 1671 |                                 it->cmd.yaw = ((unsigned char)*demo_p++) << 8;
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_game.cpp:1678:43: warning: useless cast to type ‘unsigned char’ [-Wuseless-cast]
 1678 |                         it->cmd.buttons = (unsigned char)*demo_p++;
      |                                           ^~~~~~~~~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_game.cpp: In function ‘void G_DoPlayDemo(bool)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_game.cpp:1845:94: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘std::__cxx11::list<player_s>::size_type’ {aka ‘long unsigned int’} [-Wformat=]
 1845 |                                 Printf(PRINT_HIGH, "DOOM Demo: invalid console player %d of %d\n", who + 1, players.size());
      |                                                                                             ~^              ~~~~~~~~~~~~~~
      |                                                                                              |                          |
      |                                                                                              int                        std::__cxx11::list<player_s>::size_type {aka long unsigned int}
      |                                                                                             %ld
[  4%] Building CXX object client/CMakeFiles/odamex.dir/src/cl_level.cpp.o
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./d_player.h:50,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./c_console.h:35,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_level.cpp:28:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h: In member function ‘AActor::AActorPtr AActor::ptr()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h:478:33: warning: useless cast to type ‘AActor::AActorPtr’ {aka ‘class szp<AActor>’} [-Wuseless-cast]
  478 |         AActorPtr ptr(){ return AActorPtr(self); }
      |                                 ^~~~~~~~~~~~~~~
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./doomstat.h:37,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./d_main.h:31,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_level.cpp:32:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./g_level.h: At global scope:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./g_level.h:40:29: warning: scoped enums only available with ‘-std=c++11’ or ‘-std=gnu++11’
   40 | enum OLevelFlags : unsigned int
      |                             ^~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_level.cpp: In function ‘void G_WorldDone()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_level.cpp:654:40: warning: missing initializer for member ‘finale_options_t::flat’ [-Wmissing-field-initializers]
  654 |         finale_options_t options = { 0 };
      |                                        ^
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_level.cpp:654:40: warning: missing initializer for member ‘finale_options_t::text’ [-Wmissing-field-initializers]
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_level.cpp:654:40: warning: missing initializer for member ‘finale_options_t::pic’ [-Wmissing-field-initializers]
In file included from /usr/include/string.h:519,
                 from /usr/include/c++/11.1.0/cstring:42,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./doomdef.h:30,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./c_console.h:32,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_level.cpp:28:
In function ‘char* strncpy(char*, const char*, size_t)’,
    inlined from ‘void G_InitNew(const char*)’ at /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_level.cpp:271:10:
/usr/include/bits/string_fortified.h:95:34: warning: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ specified bound 8 equals destination size [-Wstringop-truncation]
   95 |   return __builtin___strncpy_chk (__dest, __src, __len,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   96 |                                   __glibc_objsize (__dest));
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘char* strncpy(char*, const char*, size_t)’,
    inlined from ‘void G_DoCompleted()’ at /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_level.cpp:362:10:
/usr/include/bits/string_fortified.h:95:34: warning: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ output may be truncated copying 8 bytes from a string of length 8 [-Wstringop-truncation]
   95 |   return __builtin___strncpy_chk (__dest, __src, __len,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   96 |                                   __glibc_objsize (__dest));
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘char* strncpy(char*, const char*, size_t)’,
    inlined from ‘void G_DoCompleted()’ at /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_level.cpp:368:11:
/usr/include/bits/string_fortified.h:95:34: warning: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ output may be truncated copying 8 bytes from a string of length 8 [-Wstringop-truncation]
   95 |   return __builtin___strncpy_chk (__dest, __src, __len,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   96 |                                   __glibc_objsize (__dest));
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘char* strncpy(char*, const char*, size_t)’,
    inlined from ‘void G_DoCompleted()’ at /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_level.cpp:378:12:
/usr/include/bits/string_fortified.h:95:34: warning: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ output may be truncated copying 8 bytes from a string of length 8 [-Wstringop-truncation]
   95 |   return __builtin___strncpy_chk (__dest, __src, __len,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   96 |                                   __glibc_objsize (__dest));
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘char* strncpy(char*, const char*, size_t)’,
    inlined from ‘void G_DoCompleted()’ at /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_level.cpp:388:11:
/usr/include/bits/string_fortified.h:95:34: warning: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ output may be truncated copying 8 bytes from a string of length 8 [-Wstringop-truncation]
   95 |   return __builtin___strncpy_chk (__dest, __src, __len,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   96 |                                   __glibc_objsize (__dest));
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
[  4%] Building CXX object client/CMakeFiles/odamex.dir/src/cl_main.cpp.o
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./doomstat.h:37,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:27:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./g_level.h:40:29: warning: scoped enums only available with ‘-std=c++11’ or ‘-std=gnu++11’
   40 | enum OLevelFlags : unsigned int
      |                             ^~~
In file included from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./teaminfo.h:6,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./d_netinf.h:30,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./doomstat.h:41,
                 from /home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:27:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h: In member function ‘AActor::AActorPtr AActor::ptr()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/common/./actor.h:478:33: warning: useless cast to type ‘AActor::AActorPtr’ {aka ‘class szp<AActor>’} [-Wuseless-cast]
  478 |         AActorPtr ptr(){ return AActorPtr(self); }
      |                                 ^~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp: In function ‘void cvarfunc_r_enemycolor(cvar_t&)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:241:22: warning: useless cast to type ‘class argb_t’ [-Wuseless-cast]
  241 |         enemycolor = argb_t(V_GetColorFromString(var));
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp: In function ‘void cvarfunc_r_teamcolor(cvar_t&)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:248:21: warning: useless cast to type ‘class argb_t’ [-Wuseless-cast]
  248 |         teamcolor = argb_t(V_GetColorFromString(var));
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp: In member function ‘virtual void Cmd_players::Run(uint32_t)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:857:18: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘std::map<int, std::__cxx11::basic_string<char> >::size_type’ {aka ‘long unsigned int’} [-Wformat=]
  857 |         Printf("%d %s\n", mplayers.size(), mplayers.size() == 1 ? "PLAYER" : "PLAYERS");
      |                 ~^        ~~~~~~~~~~~~~~~
      |                  |                     |
      |                  int                   std::map<int, std::__cxx11::basic_string<char> >::size_type {aka long unsigned int}
      |                 %ld
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp: In member function ‘virtual void Cmd_serverinfo::Run(uint32_t)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:945:17: warning: field width specifier ‘*’ expects argument of type ‘int’, but argument 2 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=]
  945 |     Printf ("\n%*s - Value\n", MaxFieldLength, "Name");
      |                ~^~             ~~~~~~~~~~~~~~
      |                 |              |
      |                 int            size_t {aka long unsigned int}
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:953:27: warning: field width specifier ‘*’ expects argument of type ‘int’, but argument 2 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=]
  953 |                 Printf( "%*s - %s\n",
      |                          ~^~
      |                           |
      |                           int
  954 |                                 MaxFieldLength,
      |                                 ~~~~~~~~~~~~~~
      |                                 |
      |                                 size_t {aka long unsigned int}
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp: In member function ‘virtual void Cmd_changeteams::Run(uint32_t)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:1021:15: warning: operation on ‘iTeam’ may be undefined [-Wsequence-point]
 1021 |         iTeam = ++iTeam % sv_teamsinplay.asInt();
      |         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:1021:15: warning: operation on ‘iTeam’ may be undefined [-Wsequence-point]
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp: In member function ‘virtual void Cmd_netdemostats::Run(uint32_t)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:1320:46: warning: format ‘%i’ expects argument of type ‘int’, but argument 3 has type ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wformat=]
 1320 |         Printf(PRINT_HIGH, "Number of maps: %i\n", maptimes.size());
      |                                             ~^     ~~~~~~~~~~~~~~~
      |                                              |                  |
      |                                              int                std::vector<int>::size_type {aka long unsigned int}
      |                                             %li
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:1323:42: warning: format ‘%i’ expects argument of type ‘int’, but argument 3 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=]
 1323 |                 Printf(PRINT_HIGH, "> %02i Starting time: %i seconds\n",
      |                                       ~~~^
      |                                          |
      |                                          int
      |                                       %02li
 1324 |                         i + 1, maptimes[i]);
      |                         ~~~~~             
      |                           |
      |                           size_t {aka long unsigned int}
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp: In function ‘void QuitAndTryDownload(const OWantFile&)’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:1687:24: warning: too many arguments for format [-Wformat-extra-args]
 1687 |                        "Tried to download an empty file.  This is probably a bug "
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1688 |                        "in the client where an empty file is considered missing.\n",
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp: In function ‘bool CL_PrepareConnect()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:1906:22: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
 1906 |         else if (!ok && !missingfiles.empty() || cl_forcedownload)
      |                  ~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp: In function ‘void CL_Print()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:2078:33: warning: format ‘%s’ expects argument of type ‘char*’, but argument 3 has type ‘int’ [-Wformat=]
 2078 |                 Printf(level, "%s*%s", TEXTCOLOR_ESCAPE, str);
      |                                ~^
      |                                 |
      |                                 char*
      |                                %d
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:2080:33: warning: format ‘%s’ expects argument of type ‘char*’, but argument 3 has type ‘int’ [-Wformat=]
 2080 |                 Printf(level, "%s!%s", TEXTCOLOR_ESCAPE, str);
      |                                ~^
      |                                 |
      |                                 char*
      |                                %d
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp: In function ‘void CL_SpawnMobj()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:2489:31: warning: useless cast to type ‘int’ [-Wuseless-cast]
 2489 |                 mo->effects = int(MSG_ReadByte()) << FX_FOUNTAINSHIFT;
      |                               ^~~~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:2494:30: warning: useless cast to type ‘int’ [-Wuseless-cast]
 2494 |                 mo->radius = int(MSG_ReadByte()) << FRACBITS;
      |                              ^~~~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:2495:30: warning: useless cast to type ‘int’ [-Wuseless-cast]
 2495 |                 mo->height = int(MSG_ReadByte()) << FRACBITS;
      |                              ^~~~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp: In function ‘void CL_SecretEvent()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:3075:15: error: format not a string literal and no format arguments [-Werror=format-security]
 3075 |         Printf(buf.c_str());
      |         ~~~~~~^~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp: In function ‘void CL_MobjTranslation()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:3486:19: warning: comparison is always true due to limited range of data type [-Wtype-limits]
 3486 |         if (table <= MAXPLAYERS)
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp: In function ‘void CL_ParseCommands()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:3973:81: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=]
 3973 |                                 Printf(PRINT_HIGH, "CL_ParseCommands: message #%d [%d %s]\n", j, history[j], svc_info[history[j]].getName());
      |                                                                                ~^             ~
      |                                                                                 |             |
      |                                                                                 int           size_t {aka long unsigned int}
      |                                                                                %ld
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:3990:81: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=]
 3990 |                                 Printf(PRINT_HIGH, "CL_ParseCommands: message #%d [%d %s]\n", j, history[j], svc_info[history[j]].getName());
      |                                                                                ~^             ~
      |                                                                                 |             |
      |                                                                                 int           size_t {aka long unsigned int}
      |                                                                                %ld
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:3995:74: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=]
 3995 |                         Printf(PRINT_HIGH, "CL_ParseCommands: end byte (%d) < start byte (%d)\n", net_message.BytesRead(), byteStart);
      |                                                                         ~^                        ~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                          |                                             |
      |                                                                          int                                           size_t {aka long unsigned int}
      |                                                                         %ld
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:3995:92: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=]
 3995 |                         Printf(PRINT_HIGH, "CL_ParseCommands: end byte (%d) < start byte (%d)\n", net_message.BytesRead(), byteStart);
      |                                                                                           ~^                               ~~~~~~~~~
      |                                                                                            |                               |
      |                                                                                            int                             size_t {aka long unsigned int}
      |                                                                                           %ld
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp: In function ‘void CL_UpdatePlayerQueuePos()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:4436:31: error: format not a string literal and no format arguments [-Werror=format-security]
 4436 |                         Printf(PRINT_HIGH, ss.str().c_str());
      |                         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp: In function ‘void CL_SectorSectorPropertiesUpdate()’:
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:4612:20: warning: comparison is always true due to limited range of data type [-Wtype-limits]
 4612 |         if (secnum > -1 && secnum < numsectors)
      |             ~~~~~~~^~~~
/home/redacted/.cache/paru/clone/odamex/src/odamex-src-0.9.3/client/src/cl_main.cpp:4657:26: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
 4657 |                         *(int*)&sector->gravity = MSG_ReadLong();
      |                          ^~~~~~~~~~~~~~~~~~~~~~
cc1plus: some warnings being treated as errors
make[2]: *** [client/CMakeFiles/odamex.dir/build.make:202: client/CMakeFiles/odamex.dir/src/cl_main.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:208: client/CMakeFiles/odamex.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build 'odamex-0.9.3-1': 
error: packages failed to build: odamex-0.9.3-1

miffe commented on 2021-08-24 06:46 (UTC)

@loqy: Post full build logs, that snipped you posted dosn't contain the error.

loqy commented on 2021-08-02 01:56 (UTC)

Odamex fails to build for me.

make[2]: *** [client/CMakeFiles/odamex.dir/build.make:202: client/CMakeFiles/odamex.dir/src/cl_main.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:208: client/CMakeFiles/odamex.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build 'odamex-0.9.3-1': 
error: packages failed to buid: odamex-0.9.3-1

Asriel commented on 2021-05-30 21:49 (UTC) (edited on 2021-05-30 21:58 (UTC) by Asriel)

Deutex should be a makedepends so that odamex.wad can get built which is required for Odamex to launch. https://aur.archlinux.org/packages/deutex/

I may get other build errors but I'm not sure if that's related to deutex or not (the error message is vague).

dpflug commented on 2021-04-20 01:33 (UTC)

I think you need to clear out the sha256s for the unused patches. Also, deutex is a makedepends, otherwise odamex.wad doesn't get built and it won't launch.

dleslie commented on 2020-09-02 18:38 (UTC)

This builds and runs fine on aarch64, could you add it as an architecture?

Pol_M commented on 2019-03-06 16:27 (UTC) (edited on 2019-03-07 23:04 (UTC) by Pol_M)

New update released :) here is the patch:

diff --git a/.SRCINFO b/.SRCINFO
index 7a3b39f..c3f0db8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
 pkgbase = odamex
    pkgdesc = A free client/server multiplayer engine for the classic FPS Doom.
-   pkgver = 0.7.0
-   pkgrel = 2
+   pkgver = 0.8.0
+   pkgrel = 1
    url = http://odamex.net/
    arch = i686
    arch = x86_64
@@ -9,11 +9,12 @@ pkgbase = odamex
    makedepends = cmake
    depends = sdl_mixer>=1.2.6
    depends = wxgtk
+   depends = miniupnpc
    optdepends = timidity++: Required for music
-   source = http://downloads.sourceforge.net/odamex/odamex-src-0.7.0.tar.bz2
+   source = http://downloads.sourceforge.net/odamex/odamex-src-0.8.0.tar.gz
    source = 0001-Fix-WAD-path.patch
-   md5sums = 312769b98bbdb450454e4676b2c55986
-   md5sums = bb32f96f8b78f71456ae758b48e3fbe1
+   sha256sums = 52b4d0ba504edfea53e24d8b19c86da6f7e3b75980c3133eb6b5e97d24a606ea
+   sha256sums = c4ce4072515c7dbfe65d1829a317d21b5f1091e04997761cdfee345a60141638

 pkgname = odamex

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..dbfb6b9
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+*.tar.xz
+*.tar.gz
+src/**
+pkg/**
diff --git a/0001-Fix-WAD-path.patch b/0001-Fix-WAD-path.patch
index 00926cc..12b485a 100644
--- a/0001-Fix-WAD-path.patch
+++ b/0001-Fix-WAD-path.patch
@@ -1,25 +1,14 @@
-From 02dcf788ba288ddebb7164b86aef22e0e5fbf96a Mon Sep 17 00:00:00 2001
-From: Mikael Eriksson <mikael_eriksson@miffe.org>
-Date: Mon, 17 Dec 2012 12:04:02 +0100
-Subject: [PATCH] Fix WAD path
-
----
- common/d_main.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/common/d_main.cpp b/common/d_main.cpp
-index a31cb62..4abf6be 100644
---- a/common/d_main.cpp
-+++ b/common/d_main.cpp
-@@ -490,6 +490,8 @@ static std::string BaseFileSearch(std::string file, std::string ext = "", std::s
-   dirs.push_back(progdir);
- 
-   D_AddSearchDir(dirs, Args.CheckValue("-waddir"), separator);
-+  D_AddSearchDir(dirs, "/usr/share/odamex", separator);
-+  D_AddSearchDir(dirs, "/usr/share/doom", separator);
-   D_AddSearchDir(dirs, getenv("DOOMWADDIR"), separator);
-   D_AddSearchDir(dirs, getenv("DOOMWADPATH"), separator);
-   D_AddSearchDir(dirs, getenv("HOME"), separator);
--- 
-1.8.0.2
-
+diff --unified --recursive --text odamex-src-0.8.0/common/d_main.cpp "odamex-src-0.8.0 diff/common/d_main.cpp"
+--- odamex-src-0.8.0/common/d_main.cpp 2019-01-23 04:01:47.000000000 +0100
++++ "odamex-src-0.8.0 diff/common/d_main.cpp"  2019-03-07 22:31:46.807985980 +0100
+@@ -499,6 +499,8 @@
+   dirs.push_back(progdir);
+ 
+   D_AddSearchDir(dirs, Args.CheckValue("-waddir"), separator);
++  D_AddSearchDir(dirs, "/usr/share/odamex", separator);
++  D_AddSearchDir(dirs, "/usr/share/doom", separator);
+   D_AddSearchDir(dirs, getenv("DOOMWADDIR"), separator);
+   D_AddSearchDir(dirs, getenv("DOOMWADPATH"), separator);
+   D_AddSearchDir(dirs, getenv("HOME"), separator);
+ 
+ VERSION_CONTROL (d_main_cpp, "$Id: cc97705a3130a984ef22d249de74a1dc64ba33a8 $")
diff --git a/PKGBUILD b/PKGBUILD
index 05a9b35..dcea0e3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,45 +1,42 @@
 # Maintainer: Mikael Eriksson <mikael_eriksson@miffe.org>
+# Contributor: Pol Marcet Sardà <polmarcetsarda@gmail.com>
 # Contributor: Thomas Dziedzic < gostrc at gmail >
 # Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
 # Contributor: Curtis Smith <kman922002@gmail.com>

 pkgname=odamex
-pkgver=0.7.0
-pkgrel=2
+pkgver=0.8.0
+pkgrel=1
 pkgdesc='A free client/server multiplayer engine for the classic FPS Doom.'
 arch=('i686' 'x86_64')
 url='http://odamex.net/'
 license=('GPL')
-depends=('sdl_mixer>=1.2.6' 'wxgtk')
+depends=('sdl_mixer>=1.2.6' 'wxgtk' 'miniupnpc')
 makedepends=('cmake')
 optdepends=('timidity++: Required for music')
-source=("http://downloads.sourceforge.net/odamex/odamex-src-${pkgver}.tar.bz2"
+source=("http://downloads.sourceforge.net/odamex/odamex-src-${pkgver}.tar.gz"
         0001-Fix-WAD-path.patch)
-md5sums=('312769b98bbdb450454e4676b2c55986'
-         'bb32f96f8b78f71456ae758b48e3fbe1')
+sha256sums=('52b4d0ba504edfea53e24d8b19c86da6f7e3b75980c3133eb6b5e97d24a606ea'
+            'c4ce4072515c7dbfe65d1829a317d21b5f1091e04997761cdfee345a60141638')

-build() {
-   cd odamex-src-${pkgver}
-  
-  patch -p1 -i $srcdir/0001-Fix-WAD-path.patch
+prepare() {
+  cd $pkgname-src-$pkgver
+  patch --forward --strip=1 --input="${srcdir}/0001-Fix-WAD-path.patch"
+}

-  cmake .
+build() {
+  cd $pkgname-src-${pkgver}
+  cmake -DCMAKE_BUILD_TYPE=Release                              \
+        -DCMAKE_INSTALL_PREFIX=/usr                             \
+        .
   make
 }

 package() {
-   cd odamex-src-${pkgver}
-
-  install -Dm755 client/odamex "$pkgdir/usr/bin/odamex"
-  install -Dm755 server/odasrv "$pkgdir/usr/bin/odasrv"
-  install -Dm755 odalaunch/odalaunch "$pkgdir/usr/bin/odalaunch"
-  install -Dm644 odamex.wad "$pkgdir/usr/share/odamex/odamex.wad"
-  install -Dm644 media/icon_odamex_96.png "$pkgdir/usr/share/pixmaps/odamex.png"
-  install -Dm644 media/icon_odasrv_96.png "$pkgdir/usr/share/pixmaps/odasrv.png"
-  install -Dm644 media/icon_odalaunch_96.png "$pkgdir/usr/share/pixmaps/odalaunch.png"
-  install -Dm644 installer/arch/odamex.desktop "$pkgdir/usr/share/applications/odamex.desktop"
-  install -Dm644 installer/arch/odasrv.desktop "$pkgdir/usr/share/applications/odasrv.desktop"
-  install -Dm644 installer/arch/odalaunch.desktop "$pkgdir/usr/share/applications/odalaunch.desktop"
+  cd $pkgname-src-${pkgver}
+  make DESTDIR=$pkgdir install
+  # Use system headers.
+  rm -r "$pkgdir/usr/include/miniupnpc/"
 }

 # vim:set ts=2 sw=2 et:

miffe commented on 2014-04-01 16:06 (UTC)

odamex 0.7.0-2: - New upstream release They updated the source but didn't bump the version number...

Zucca commented on 2014-04-01 14:10 (UTC)

odamex-src-0.7.0.tar.bz2 does not pass checksum.

miffe commented on 2014-03-29 20:35 (UTC)

odamex 0.7.0-1: - New upstream release Packages at http://arch.miffe.org/

miffe commented on 2013-08-08 02:07 (UTC)

odamex 0.6.4-1: - New upstream release - Binaries at http://arch.miffe.org/

miffe commented on 2013-04-30 09:50 (UTC)

odamex 0.6.3-1: - New upstream release - Binaries at http://arch.miffe.org/

miffe commented on 2012-12-17 11:17 (UTC)

odamex 0.6.2-1: - New upstream release - Binaries at http://arch.miffe.org/

miffe commented on 2012-07-07 21:16 (UTC)

odamex 0.6.1-1: - New upstream release - Binaries at http://arch.miffe.org/

miffe commented on 2012-05-13 02:44 (UTC)

odamex 0.6.0-1: - New upstream release - Binaries at http://arch.miffe.org/

commented on 2012-01-26 01:02 (UTC)

Ah..., I see what you mean by "envar" now. To globally set it, I just added this to my .bash_profile. export SDL_SOUNDFONTS=/path/to/some/soundfont.sf2 Although, I suppose you could set it from any other startup script. Thanks again.

miffe commented on 2012-01-25 19:58 (UTC)

@asterisk-nixer: It's an Environment Variable, there are many ways to set them. One easy way is just to run "SDL_SOUNDFONTS=/path/to/some/soundfont.sf2 odamex" without the quotes from a terminal.

commented on 2012-01-25 18:30 (UTC)

@SDL_SOUNDFONTS Where do I set this, one of the source files? The Odamex wiki only shows soundfont configuration for Timidity. Thanks for all your work keeping this PKGBUILD alive.

miffe commented on 2012-01-23 18:34 (UTC)

@asterisk-nixer: SDL_mixer uses an builtin version of timidity, not timidity++ so it does not support soundfonts. SDL_mixer can also use fluidsynth but you have to set the SDL_SOUNDFONTS envvar to a soundfont and you still need timidity++ installed since odamex checks that it's config file exists. I'm thinking of just removing the timidity config file check from odamex since it causes more harm than good.

Zucca commented on 2012-01-23 17:18 (UTC)

Thank you. :)

miffe commented on 2012-01-23 17:01 (UTC)

odamex 0.5.6-3: - Add odalaunch - Binaries at http://arch.miffe.org/

commented on 2012-01-22 01:02 (UTC)

Hmmm... freepats worked. I'd been running timidity with a 8MB soundfont that shipped with my card just fine in all my other programs. Strange.

Zucca commented on 2012-01-21 11:26 (UTC)

There's no odalaunch. Can it be added? Or should we use doomseeker?

miffe commented on 2012-01-19 18:13 (UTC)

@asterisk-nixer: Did you install timidity-freepats and copied /etc/timidity++/timidity-freepats.cfg to /etc/timidity++/timidity.cfg?

commented on 2012-01-19 02:48 (UTC)

After rebuilding the package with makepkg, the problem remains. No BGM. I hope they move to something like fluidsynth in the future...

miffe commented on 2012-01-14 17:11 (UTC)

odamex 0.5.6-2: - Fix detection of timidity - Binaries at http://arch.miffe.org/

miffe commented on 2012-01-14 16:59 (UTC)

@asterisk-nixer: It checks for the presence of /etc/timidity/timidity.cfg and /etc/timidity/timidity/timidity.cfg at startup, if they don't exists they disable music. I'll create a patch to fix that.

commented on 2012-01-11 04:18 (UTC)

Anyone else having problems with no music? I have timidity++ installed already, but no bgm will play.

Zucca commented on 2011-12-28 05:56 (UTC)

Thanks for keepin this up to date. I think I'll switch from -svn to this as servers won't always accept -svn clients.

miffe commented on 2011-11-06 14:52 (UTC)

odamex 0.5.6-1: - New upstream release

miffe commented on 2011-08-12 18:25 (UTC)

odamex 0.5.4-1: - New upstream release

Zucca commented on 2011-08-03 19:54 (UTC)

@miffe: Yeah. It compiled fine. :) But I already built odamex-svn. ;)

miffe commented on 2011-07-30 09:18 (UTC)

odamex 0.5.3-1: - New upstream release @Zucca: I hope this version fixes your problem.

Zucca commented on 2011-07-28 17:41 (UTC)

I stumble upon this error: g++ -march=core2 -O2 -pipe -DUNIX -DLINUX -DNOASM -Icommon -Itextscreen -I../client/sdl -Iclient/sdl -I../client/src -Iclient/src -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c common/p_switch.cpp -o obj/common/client_p_switch.o common/r_data.cpp: In function ‘void R_InitColormaps()’: common/r_data.cpp:729:29: error: ‘ptrdiff_t’ was not declared in this scope common/r_data.cpp:729:29: note: suggested alternatives: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.1/../../../../include/c++/4.6.1/x86_64-unknown-linux-gnu/bits/c++config.h:156:28: note: ‘std::ptrdiff_t’ /usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.1/../../../../include/c++/4.6.1/x86_64-unknown-linux-gnu/bits/c++config.h:156:28: note: ‘std::ptrdiff_t’ common/r_data.cpp:729:39: error: expected ‘)’ before ‘realcolormaps’ common/r_data.cpp:729:67: error: expected ‘)’ before ‘;’ token make: *** [obj/common/client_r_data.o] Error 1

miffe commented on 2011-01-18 09:02 (UTC)

Binary packages available: [miffe] Server = http://arch.miffe.org/$arch/

miffe commented on 2011-01-14 16:22 (UTC)

Package adopted. odamex 0.5.1-1: - New upstream release.