atsb/Doom64EX-Plus

Can't compile for Linux using build.sh

Closed this issue · 2 comments

Whenever I run the build.sh script, it errors out a quarter of the way through, I have all the dependencies installed when I check that.

Distro: Manjaro Linux 6.1.12-1
Architecture: x64

Error Log:
"./3rdparty/Includes/pngconf.h:301:58: note: in expansion of macro ‘PNGARG’
301 | PNG_FUNCTION(PNG_EXPORT_TYPE(type), (PNGAPI name), PNGARG(args),
| ^~~~~~
./3rdparty/Includes/pngconf.h:311:4: note: in expansion of macro ‘PNG_EXPORTA’
311 | PNG_EXPORTA(ordinal, type, name, args, PNG_EMPTY)
| ^~~~~~~~~~~
./3rdparty/Includes/png.h:1587:1: note: in expansion of macro ‘PNG_EXPORT’
1587 | PNG_EXPORT(77, void, png_set_write_fn, (png_structrp png_ptr, png_voidp io_ptr,
| ^~~~~~~~~~
i_sdlinput.c: In function ‘I_MouseAccel’:
i_sdlinput.c:289:22: warning: implicit declaration of function ‘pow’ [-Wimplicit-function-declaration]
289 | return (int)(pow((double)val, (double)mouse_accelfactor));
| ^~~
i_sdlinput.c:37:1: note: include ‘<math.h>’ or provide a declaration of ‘pow’
36 | #include "i_video.h"
+++ |+#include <math.h>
37 | #include "d_main.h"
i_sdlinput.c:289:22: warning: incompatible implicit declaration of built-in function ‘pow’ [-Wbuiltin-declaration-mismatch]
289 | return (int)(pow((double)val, (double)mouse_accelfactor));
| ^~~
i_sdlinput.c:289:22: note: include ‘<math.h>’ or provide a declaration of ‘pow’
/usr/bin/ld: /tmp/ccVJiLrI.o:/home/chao/Doom64EX-Plus/src/engine/p_pspr.c:956: multiple definition of laserhit_x'; /tmp/ccsex8mt.o:/home/chao/Doom64EX-Plus/src/engine/p_map.c:1000: first defined here /usr/bin/ld: /tmp/ccVJiLrI.o:/home/chao/Doom64EX-Plus/src/engine/p_pspr.c:957: multiple definition of laserhit_y'; /tmp/ccsex8mt.o:/home/chao/Doom64EX-Plus/src/engine/p_map.c:1001: first defined here
/usr/bin/ld: /tmp/ccVJiLrI.o:/home/chao/Doom64EX-Plus/src/engine/p_pspr.c:958: multiple definition of laserhit_z'; /tmp/ccsex8mt.o:/home/chao/Doom64EX-Plus/src/engine/p_map.c:1002: first defined here /usr/bin/ld: /tmp/ccWaJEpt.o: in function Seq_Shutdown':
/home/chao/Doom64EX-Plus/src/engine/i_audio.c:1104: undefined reference to delete_fluid_audio_driver' /usr/bin/ld: /tmp/ccWaJEpt.o: in function I_InitSequencer':
/home/chao/Doom64EX-Plus/src/engine/i_audio.c:1237: undefined reference to `new_fluid_audio_driver'
collect2: error: ld returned 1 exit status

atsb commented

Manjaro eh.. this is weird. Looks like the latest versions of GCC have the same issues as macOS clang does.

Tell you what, currently I run ZorinOS on my Linux machine, but I will install Arch. Having the absolute latest compilers will help me to fix these things before a user runs into this issue.

Give me a few days to backup and install the distro and I'll get this fixed immediately.

Thanks for the issue!

atsb commented

FIxed!