With the release of GCC 14 it has upgraded various warnings to errors, breaking Principia's compilation in the process. I believe there is some flag to downgrade them again but these really should be fixed.
All errors:
/run/.../src/build >>> ninja -j64
[1/9] Building C object CMakeFiles/principia.dir/src/tms/core/hash.c.o
FAILED: CMakeFiles/principia.dir/src/tms/core/hash.c.o
/usr/bin/cc -I/run/media/rollerozxa/apZodIaL1/Principia/src/src -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/lua -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/SDL_image -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/src -I/usr/include/freetype2 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/harfbuzz -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/SDL_mixer -isystem /usr/include/SDL2 -Wformat -Werror=format-security -DLUA_COMPAT_MODULE -DTMS_BACKEND_PC -DTMS_FAST_MATH -DTMS_BACKEND_LINUX -DNDEBUG=1 -fomit-frame-pointer -fdata-sections -ffunction-sections -O1 -std=gnu99 -MD -MT CMakeFiles/principia.dir/src/tms/core/hash.c.o -MF CMakeFiles/principia.dir/src/tms/core/hash.c.o.d -o CMakeFiles/principia.dir/src/tms/core/hash.c.o -c /run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c: In function ‘thash_create_ptrdata_table’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:93:13: error: assignment to ‘int (*)(struct thash *, ...)’ from incompatible pointer type ‘int (*)(struct thash *, void *, void *)’ [-Wincompatible-pointer-types]
93 | th->add = add_ptrdata;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:94:12: error: assignment to ‘int (*)(struct thash *, ...)’ from incompatible pointer type ‘int (*)(struct thash *, void *)’ [-Wincompatible-pointer-types]
94 | th->rm = rm_ptrdata;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:95:13: error: assignment to ‘void * (*)(struct thash *, ...)’ from incompatible pointer type ‘void * (*)(struct thash *, void *)’ [-Wincompatible-pointer-types]
95 | th->get = get_ptrdata;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c: In function ‘thash_create_pointer_table’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:111:13: error: assignment to ‘int (*)(struct thash *, ...)’ from incompatible pointer type ‘int (*)(struct thash *, void *)’ [-Wincompatible-pointer-types]
111 | th->add = add_ptr;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:112:12: error: assignment to ‘int (*)(struct thash *, ...)’ from incompatible pointer type ‘int (*)(struct thash *, void *)’ [-Wincompatible-pointer-types]
112 | th->rm = rm_ptr;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:113:13: error: assignment to ‘void * (*)(struct thash *, ...)’ from incompatible pointer type ‘void * (*)(struct thash *, void *)’ [-Wincompatible-pointer-types]
113 | th->get = get_ptr;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c: In function ‘thash_create_uint32_table’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:129:13: error: assignment to ‘int (*)(struct thash *, ...)’ from incompatible pointer type ‘int (*)(struct thash *, uint32_t, void *)’ {aka ‘int (*)(struct thash *, unsigned int, void *)’} [-Wincompatible-pointer-types]
129 | th->add = add_uint32;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:130:12: error: assignment to ‘int (*)(struct thash *, ...)’ from incompatible pointer type ‘int (*)(struct thash *, uint32_t)’ {aka ‘int (*)(struct thash *, unsigned int)’} [-Wincompatible-pointer-types]
130 | th->rm = rm_uint32;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:131:13: error: assignment to ‘void * (*)(struct thash *, ...)’ from incompatible pointer type ‘void * (*)(struct thash *, uint32_t)’ {aka ‘void * (*)(struct thash *, unsigned int)’} [-Wincompatible-pointer-types]
131 | th->get = get_uint32;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c: In function ‘thash_create_string_table’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:146:13: error: assignment to ‘int (*)(struct thash *, ...)’ from incompatible pointer type ‘int (*)(struct thash *, char *, size_t, void *)’ {aka ‘int (*)(struct thash *, char *, long unsigned int, void *)’} [-Wincompatible-pointer-types]
146 | th->add = add_string;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:147:12: error: assignment to ‘int (*)(struct thash *, ...)’ from incompatible pointer type ‘int (*)(struct thash *, char *, size_t)’ {aka ‘int (*)(struct thash *, char *, long unsigned int)’} [-Wincompatible-pointer-types]
147 | th->rm = rm_string;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:148:13: error: assignment to ‘void * (*)(struct thash *, ...)’ from incompatible pointer type ‘void * (*)(struct thash *, char *, size_t)’ {aka ‘void * (*)(struct thash *, char *, long unsigned int)’} [-Wincompatible-pointer-types]
148 | th->get = get_string;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c: In function ‘get_ptr’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:163:40: error: initialization of ‘struct thash_entry_pointer **’ from incompatible pointer type ‘void **’ [-Wincompatible-pointer-types]
163 | struct thash_entry_pointer **tbl = h->tbl;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c: In function ‘add_ptr’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:185:40: error: initialization of ‘struct thash_entry_pointer **’ from incompatible pointer type ‘void **’ [-Wincompatible-pointer-types]
185 | struct thash_entry_pointer **tbl = h->tbl;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c: In function ‘add_uint32’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:207:39: error: initialization of ‘struct thash_entry_uint32 **’ from incompatible pointer type ‘void **’ [-Wincompatible-pointer-types]
207 | struct thash_entry_uint32 **tbl = h->tbl;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c: In function ‘get_uint32’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:229:39: error: initialization of ‘struct thash_entry_uint32 **’ from incompatible pointer type ‘void **’ [-Wincompatible-pointer-types]
229 | struct thash_entry_uint32 **tbl = h->tbl;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c: In function ‘add_string’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:252:39: error: initialization of ‘struct thash_entry_string **’ from incompatible pointer type ‘void **’ [-Wincompatible-pointer-types]
252 | struct thash_entry_string **tbl = h->tbl;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c: In function ‘get_string’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:277:39: error: initialization of ‘struct thash_entry_string **’ from incompatible pointer type ‘void **’ [-Wincompatible-pointer-types]
277 | struct thash_entry_string **tbl = h->tbl;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c: In function ‘get_ptrdata’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:308:40: error: initialization of ‘struct thash_entry_ptrdata **’ from incompatible pointer type ‘void **’ [-Wincompatible-pointer-types]
308 | struct thash_entry_ptrdata **tbl = h->tbl;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c: In function ‘add_ptrdata’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/hash.c:324:40: error: initialization of ‘struct thash_entry_ptrdata **’ from incompatible pointer type ‘void **’ [-Wincompatible-pointer-types]
324 | struct thash_entry_ptrdata **tbl = h->tbl;
| ^
[2/9] Building C object CMakeFiles/principia.dir/src/tms/core/pipeline.c.o
FAILED: CMakeFiles/principia.dir/src/tms/core/pipeline.c.o
/usr/bin/cc -I/run/media/rollerozxa/apZodIaL1/Principia/src/src -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/lua -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/SDL_image -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/src -I/usr/include/freetype2 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/harfbuzz -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/SDL_mixer -isystem /usr/include/SDL2 -Wformat -Werror=format-security -DLUA_COMPAT_MODULE -DTMS_BACKEND_PC -DTMS_FAST_MATH -DTMS_BACKEND_LINUX -DNDEBUG=1 -fomit-frame-pointer -fdata-sections -ffunction-sections -O1 -std=gnu99 -MD -MT CMakeFiles/principia.dir/src/tms/core/pipeline.c.o -MF CMakeFiles/principia.dir/src/tms/core/pipeline.c.o.d -o CMakeFiles/principia.dir/src/tms/core/pipeline.c.o -c /run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/pipeline.c
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/pipeline.c: In function ‘tms_pipeline_init’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/pipeline.c:63:19: error: assignment to ‘TMS_UNIFORM_FN’ {aka ‘void (*)(int, int, const float *)’} from incompatible pointer type ‘PFNGLUNIFORM1IVPROC’ {aka ‘void (*)(int, int, const int *)’} [-Wincompatible-pointer-types]
63 | uniform_fn[3] = glUniform1iv;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/pipeline.c:66:19: error: assignment to ‘TMS_UNIFORM_FN’ {aka ‘void (*)(int, int, const float *)’} from incompatible pointer type ‘PFNGLUNIFORM1IVPROC’ {aka ‘void (*)(int, int, const int *)’} [-Wincompatible-pointer-types]
66 | uniform_fn[6] = glUniform1iv;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/pipeline.c: In function ‘apply_global_uniform’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/pipeline.c:205:84: error: passing argument 4 of ‘uniform_mat_fn[p->global[x].type + -128]’ from incompatible pointer type [-Wincompatible-pointer-types]
205 | (uniform_mat_fn[p->global[x].type - 128])(loc, 1, 0, ((char*)(state->data))+p->global[x].offs);
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
| |
| char *
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/pipeline.c:205:84: note: expected ‘const GLfloat *’ {aka ‘const float *’} but argument is of type ‘char *’
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/pipeline.c:207:71: error: passing argument 3 of ‘uniform_fn[p->global[x].type]’ from incompatible pointer type [-Wincompatible-pointer-types]
207 | (uniform_fn[p->global[x].type])(loc, 1, ((char*)(state->data))+p->global[x].offs);
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
| |
| char *
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/pipeline.c:207:71: note: expected ‘const GLfloat *’ {aka ‘const float *’} but argument is of type ‘char *’
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/pipeline.c: In function ‘tms_pipeline_apply_local_uniforms’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/pipeline.c:287:59: error: passing argument 4 of ‘__glewUniformMatrix3fv’ from incompatible pointer type [-Wincompatible-pointer-types]
287 | glUniformMatrix3fv(loc, 1, 0, ((char*)(e))+(pipelines[p].local[x].offs));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/pipeline.c:287:59: note: expected ‘const GLfloat *’ {aka ‘const float *’} but argument is of type ‘char *’
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/pipeline.c:289:59: error: passing argument 4 of ‘__glewUniformMatrix4fv’ from incompatible pointer type [-Wincompatible-pointer-types]
289 | glUniformMatrix4fv(loc, 1, 0, ((char*)(e))+(pipelines[p].local[x].offs));
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/pipeline.c:289:59: note: expected ‘const GLfloat *’ {aka ‘const float *’} but argument is of type ‘char *’
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/pipeline.c:291:74: error: passing argument 3 of ‘uniform_fn[pipelines[p].local[x].type]’ from incompatible pointer type [-Wincompatible-pointer-types]
291 | (uniform_fn[pipelines[p].local[x].type])(loc, 1, ((char*)(e))+pipelines[p].local[x].offs);
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/pipeline.c:291:74: note: expected ‘const GLfloat *’ {aka ‘const float *’} but argument is of type ‘char *’
[3/9] Building C object CMakeFiles/principia.dir/src/tms/core/gbuffer.c.o
FAILED: CMakeFiles/principia.dir/src/tms/core/gbuffer.c.o
/usr/bin/cc -I/run/media/rollerozxa/apZodIaL1/Principia/src/src -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/lua -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/SDL_image -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/src -I/usr/include/freetype2 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/harfbuzz -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/SDL_mixer -isystem /usr/include/SDL2 -Wformat -Werror=format-security -DLUA_COMPAT_MODULE -DTMS_BACKEND_PC -DTMS_FAST_MATH -DTMS_BACKEND_LINUX -DNDEBUG=1 -fomit-frame-pointer -fdata-sections -ffunction-sections -O1 -std=gnu99 -MD -MT CMakeFiles/principia.dir/src/tms/core/gbuffer.c.o -MF CMakeFiles/principia.dir/src/tms/core/gbuffer.c.o.d -o CMakeFiles/principia.dir/src/tms/core/gbuffer.c.o -c /run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/gbuffer.c
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/gbuffer.c: In function ‘tms_gbuffer_update’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/gbuffer.c:125:42: error: passing argument 3 of ‘__glewBufferData’ makes pointer from integer without a cast [-Wint-conversion]
125 | glBufferData(b->target, start_offs, num_bytes, b->buf+start_offs);
| ^~~~~~~~~
| |
| size_t {aka long unsigned int}
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/gbuffer.c:125:42: note: expected ‘const void *’ but argument is of type ‘size_t’ {aka ‘long unsigned int’}
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/gbuffer.c:125:59: error: passing argument 4 of ‘__glewBufferData’ makes integer from pointer without a cast [-Wint-conversion]
125 | glBufferData(b->target, start_offs, num_bytes, b->buf+start_offs);
| ~~~~~~^~~~~~~~~~~
| |
| char *
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/gbuffer.c:125:59: note: expected ‘GLenum’ {aka ‘unsigned int’} but argument is of type ‘char *’
[4/9] Building C object CMakeFiles/principia.dir/src/tms/core/model.c.o
FAILED: CMakeFiles/principia.dir/src/tms/core/model.c.o
/usr/bin/cc -I/run/media/rollerozxa/apZodIaL1/Principia/src/src -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/lua -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/SDL_image -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/src -I/usr/include/freetype2 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/harfbuzz -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/SDL_mixer -isystem /usr/include/SDL2 -Wformat -Werror=format-security -DLUA_COMPAT_MODULE -DTMS_BACKEND_PC -DTMS_FAST_MATH -DTMS_BACKEND_LINUX -DNDEBUG=1 -fomit-frame-pointer -fdata-sections -ffunction-sections -O1 -std=gnu99 -MD -MT CMakeFiles/principia.dir/src/tms/core/model.c.o -MF CMakeFiles/principia.dir/src/tms/core/model.c.o.d -o CMakeFiles/principia.dir/src/tms/core/model.c.o -c /run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/model.c
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/model.c: In function ‘tms_model_shift_mesh_uv’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/model.c:72:24: error: initialization of ‘struct vertex *’ from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types]
72 | struct vertex *v = m->vertices->buf+mesh->v_start;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/model.c:73:19: error: initialization of ‘uint16_t *’ {aka ‘short unsigned int *’} from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types]
73 | uint16_t *i = m->indices->buf+mesh->i_start*sizeof(uint16_t);
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/model.c:75:25: error: initialization of ‘struct vertex *’ from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types]
75 | struct vertex *nv = m->vertices->buf+vsz;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/model.c:76:20: error: initialization of ‘uint16_t *’ {aka ‘short unsigned int *’} from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types]
76 | uint16_t *ni = m->indices->buf+osz;
| ^
[5/9] Building C object CMakeFiles/principia.dir/src/tms/modules/3ds.c.o
FAILED: CMakeFiles/principia.dir/src/tms/modules/3ds.c.o
/usr/bin/cc -I/run/media/rollerozxa/apZodIaL1/Principia/src/src -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/lua -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/SDL_image -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/src -I/usr/include/freetype2 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/harfbuzz -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/SDL_mixer -isystem /usr/include/SDL2 -Wformat -Werror=format-security -DLUA_COMPAT_MODULE -DTMS_BACKEND_PC -DTMS_FAST_MATH -DTMS_BACKEND_LINUX -DNDEBUG=1 -fomit-frame-pointer -fdata-sections -ffunction-sections -O1 -std=gnu99 -MD -MT CMakeFiles/principia.dir/src/tms/modules/3ds.c.o -MF CMakeFiles/principia.dir/src/tms/modules/3ds.c.o.d -o CMakeFiles/principia.dir/src/tms/modules/3ds.c.o -c /run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/modules/3ds.c
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/modules/3ds.c: In function ‘load_3ds_model’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/modules/3ds.c:88:28: error: assignment to ‘struct vertex *’ from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types]
88 | vertex_buf = model->vertices->buf+sz;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/modules/3ds.c:104:27: error: assignment to ‘uint16_t *’ {aka ‘short unsigned int *’} from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types]
104 | index_buf = model->indices->buf+(sz);
| ^
[6/9] Building C object CMakeFiles/principia.dir/src/tms/core/shader.c.o
FAILED: CMakeFiles/principia.dir/src/tms/core/shader.c.o
/usr/bin/cc -I/run/media/rollerozxa/apZodIaL1/Principia/src/src -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/lua -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/SDL_image -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/src -I/usr/include/freetype2 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/harfbuzz -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/SDL_mixer -isystem /usr/include/SDL2 -Wformat -Werror=format-security -DLUA_COMPAT_MODULE -DTMS_BACKEND_PC -DTMS_FAST_MATH -DTMS_BACKEND_LINUX -DNDEBUG=1 -fomit-frame-pointer -fdata-sections -ffunction-sections -O1 -std=gnu99 -MD -MT CMakeFiles/principia.dir/src/tms/core/shader.c.o -MF CMakeFiles/principia.dir/src/tms/core/shader.c.o.d -o CMakeFiles/principia.dir/src/tms/core/shader.c.o -c /run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/shader.c
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/shader.c: In function ‘tms_shader_init’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/shader.c:40:13: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
40 | s->name = unknown;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/shader.c: In function ‘compile’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/shader.c:168:22: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
168 | sources[num_src] = src;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/shader.c:179:34: error: passing argument 3 of ‘__glewShaderSource’ from incompatible pointer type [-Wincompatible-pointer-types]
179 | glShaderSource(s, num_src+1, sources, 0);
| ^~~~~~~
| |
| char **
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/shader.c:179:34: note: expected ‘const GLchar * const*’ {aka ‘const char * const*’} but argument is of type ‘char **’
[7/9] Building C object CMakeFiles/principia.dir/src/tms/core/framebuffer.c.o
FAILED: CMakeFiles/principia.dir/src/tms/core/framebuffer.c.o
/usr/bin/cc -I/run/media/rollerozxa/apZodIaL1/Principia/src/src -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/lua -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/SDL_image -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/src -I/usr/include/freetype2 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/harfbuzz -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/SDL_mixer -isystem /usr/include/SDL2 -Wformat -Werror=format-security -DLUA_COMPAT_MODULE -DTMS_BACKEND_PC -DTMS_FAST_MATH -DTMS_BACKEND_LINUX -DNDEBUG=1 -fomit-frame-pointer -fdata-sections -ffunction-sections -O1 -std=gnu99 -MD -MT CMakeFiles/principia.dir/src/tms/core/framebuffer.c.o -MF CMakeFiles/principia.dir/src/tms/core/framebuffer.c.o.d -o CMakeFiles/principia.dir/src/tms/core/framebuffer.c.o -c /run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/framebuffer.c
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/framebuffer.c: In function ‘tms_fb_init’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/framebuffer.c:556:53: error: passing argument 2 of ‘__glewGenFramebuffers’ from incompatible pointer type [-Wincompatible-pointer-types]
556 | glGenFramebuffers(fb->double_buffering ? 2 : 1, &fb->fb_o);
| ^~~~~~~~~
| |
| GLuint (*)[2] {aka unsigned int (*)[2]}
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/framebuffer.c:556:53: note: expected ‘GLuint *’ {aka ‘unsigned int *’} but argument is of type ‘GLuint (*)[2]’ {aka ‘unsigned int (*)[2]’}
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/framebuffer.c: In function ‘tms_fb_free’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/framebuffer.c:572:56: error: passing argument 2 of ‘__glewDeleteFramebuffers’ from incompatible pointer type [-Wincompatible-pointer-types]
572 | glDeleteFramebuffers(fb->double_buffering ? 2 : 1, &fb->fb_o);
| ^~~~~~~~~
| |
| GLuint (*)[2] {aka unsigned int (*)[2]}
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/framebuffer.c:572:56: note: expected ‘const GLuint *’ {aka ‘const unsigned int *’} but argument is of type ‘GLuint (*)[2]’ {aka ‘unsigned int (*)[2]’}
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/framebuffer.c: In function ‘tms_fb_add_texture’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/framebuffer.c:859:43: error: passing argument 2 of ‘__glewDrawBuffers’ from incompatible pointer type [-Wincompatible-pointer-types]
859 | glDrawBuffers(fb->num_textures+1, &bufs);
| ^~~~~
| |
| GLenum (*)[fb->num_textures + 1] {aka unsigned int (*)[fb->num_textures + 1]}
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/framebuffer.c:859:43: note: expected ‘const GLenum *’ {aka ‘const unsigned int *’} but argument is of type ‘GLenum (*)[fb->num_textures + 1]’ {aka ‘unsigned int (*)[fb->num_textures + 1]’}
[8/9] Building C object CMakeFiles/principia.dir/src/tms/core/graph.c.o
FAILED: CMakeFiles/principia.dir/src/tms/core/graph.c.o
/usr/bin/cc -I/run/media/rollerozxa/apZodIaL1/Principia/src/src -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/lua -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/SDL_image -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/src -I/usr/include/freetype2 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/harfbuzz -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cloudproviders -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/run/media/rollerozxa/apZodIaL1/Principia/src/src/SDL_mixer -isystem /usr/include/SDL2 -Wformat -Werror=format-security -DLUA_COMPAT_MODULE -DTMS_BACKEND_PC -DTMS_FAST_MATH -DTMS_BACKEND_LINUX -DNDEBUG=1 -fomit-frame-pointer -fdata-sections -ffunction-sections -O1 -std=gnu99 -MD -MT CMakeFiles/principia.dir/src/tms/core/graph.c.o -MF CMakeFiles/principia.dir/src/tms/core/graph.c.o.d -o CMakeFiles/principia.dir/src/tms/core/graph.c.o -c /run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:27:5: error: initialization of ‘const int (*)(void *, void *)’ from incompatible pointer type ‘int (*)(struct tms_rstate *, void *)’ [-Wincompatible-pointer-types]
27 | enable_blending,
| ^~~~~~~~~~~~~~~
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:27:5: note: (near initialization for ‘sort_fns[0]’)
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:28:5: error: initialization of ‘const int (*)(void *, void *)’ from incompatible pointer type ‘int (*)(struct tms_rstate *, struct tms_program *)’ [-Wincompatible-pointer-types]
28 | bind_program,
| ^~~~~~~~~~~~
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:28:5: note: (near initialization for ‘sort_fns[1]’)
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:29:5: error: initialization of ‘const int (*)(void *, void *)’ from incompatible pointer type ‘int (*)(struct tms_rstate *, struct tms_texture *)’ [-Wincompatible-pointer-types]
29 | bind_texture0,
| ^~~~~~~~~~~~~
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:29:5: note: (near initialization for ‘sort_fns[2]’)
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:30:5: error: initialization of ‘const int (*)(void *, void *)’ from incompatible pointer type ‘int (*)(struct tms_rstate *, struct tms_texture *)’ [-Wincompatible-pointer-types]
30 | bind_texture1,
| ^~~~~~~~~~~~~
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:30:5: note: (near initialization for ‘sort_fns[3]’)
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:31:5: error: initialization of ‘const int (*)(void *, void *)’ from incompatible pointer type ‘int (*)(struct tms_rstate *, struct tms_texture *)’ [-Wincompatible-pointer-types]
31 | bind_texture2,
| ^~~~~~~~~~~~~
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:31:5: note: (near initialization for ‘sort_fns[4]’)
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:32:5: error: initialization of ‘const int (*)(void *, void *)’ from incompatible pointer type ‘int (*)(struct tms_rstate *, struct tms_texture *)’ [-Wincompatible-pointer-types]
32 | bind_texture3,
| ^~~~~~~~~~~~~
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:32:5: note: (near initialization for ‘sort_fns[5]’)
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:33:5: error: initialization of ‘const int (*)(void *, void *)’ from incompatible pointer type ‘int (*)(struct tms_rstate *, struct tms_varray *)’ [-Wincompatible-pointer-types]
33 | bind_varray,
| ^~~~~~~~~~~
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:33:5: note: (near initialization for ‘sort_fns[6]’)
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:34:5: error: initialization of ‘const int (*)(void *, void *)’ from incompatible pointer type ‘int (*)(struct tms_rstate *, struct tms_gbuffer *)’ [-Wincompatible-pointer-types]
34 | bind_mesh,
| ^~~~~~~~~
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:34:5: note: (near initialization for ‘sort_fns[7]’)
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:35:5: error: initialization of ‘const int (*)(void *, void *)’ from incompatible pointer type ‘int (*)(struct tms_rstate *, void *)’ [-Wincompatible-pointer-types]
35 | flat,
| ^~~~
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:35:5: note: (near initialization for ‘sort_fns[8]’)
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:36:5: error: initialization of ‘const int (*)(void *, void *)’ from incompatible pointer type ‘int (*)(struct tms_rstate *, void *)’ [-Wincompatible-pointer-types]
36 | bind_prio,
| ^~~~~~~~~
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:36:5: note: (near initialization for ‘sort_fns[9]’)
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:37:5: error: initialization of ‘const int (*)(void *, void *)’ from incompatible pointer type ‘int (*)(struct tms_rstate *, void *)’ [-Wincompatible-pointer-types]
37 | bind_prio,
| ^~~~~~~~~
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:37:5: note: (near initialization for ‘sort_fns[10]’)
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c: In function ‘tms_graph_set_sort_callback’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:99:23: error: assignment to ‘int (*)(void *, void *)’ from incompatible pointer type ‘int (*)(struct tms_rstate *, void *)’ [-Wincompatible-pointer-types]
99 | g->sort_fns[sort] = fun;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c: In function ‘get_branch’:
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:179:44: error: assignment to ‘void *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
179 | br->nodes.as_branch[1].val = 1;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:194:44: error: assignment to ‘void *’ from ‘uintptr_t’ {aka ‘long unsigned int’} makes pointer from integer without a cast [-Wint-conversion]
194 | case TMS_SORT_PRIO: refval = e->prio; break;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:195:51: error: assignment to ‘void *’ from ‘uintptr_t’ {aka ‘long unsigned int’} makes pointer from integer without a cast [-Wint-conversion]
195 | case TMS_SORT_PRIO_BIASED: refval = e->prio+e->prio_bias; break;
| ^
/run/media/rollerozxa/apZodIaL1/Principia/src/src/tms/core/graph.c:196:48: error: assignment to ‘void *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
196 | case TMS_SORT_BLENDING: refval = e->material->pipeline[g->p].blend_mode; break;
| ^
ninja: build stopped: subcommand failed.
/run/.../src/build >>>
With the release of GCC 14 it has upgraded various warnings to errors, breaking Principia's compilation in the process. I believe there is some flag to downgrade them again but these really should be fixed.
All errors: