Interrupt / systemshock

Shockolate - A minimalist and cross platform System Shock source port.
GNU General Public License v3.0
801 stars 62 forks source link

error when running "make systemshock" #412

Open shadept-GitHub opened 1 month ago

shadept-GitHub commented 1 month ago

when compiling on x64 arch with linux-lts kernel i get this error:

error: assignment to ‘ubyte *’ {aka ‘unsigned char *’} from incompatible pointer type ‘ubyte **’ {aka ‘unsigned char **’} [-Wincompatible-pointer-types]
  216 |     parm_ptr = (&object_ptr) + sizeof(object_ptr); //va_start(parm_ptr, object_ptr);
      |              ^
make[3]: *** [src/Libraries/CMakeFiles/3D_LIB.dir/build.make:174: src/Libraries/CMakeFiles/3D_LIB.dir/3D/Source/interp.c.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:252: src/Libraries/CMakeFiles/3D_LIB.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:155: CMakeFiles/systemshock.dir/rule] Error 2
make: *** [Makefile:124: systemshock] Error 2

what do i do? it used to compile just fine before. i did a full system update recently, is this why? is my SDL2 version too new?

Steps to reproduce:

  1. Clone the systemshock repo
  2. run ./build_deps.sh
  3. run cmake .
  4. run make systemshock
Interrupt commented 1 month ago

It looks like your compiler is running in a way that turns warnings into errors - that's what the (-Wincompatible-pointer-types). You should be able to change your compiler flags to not error out in that case by using -Wno-incompatible-pointer-types - check out https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html