bspc
bspc copied to clipboard
Unable to build
When using the command:
git clone https://github.com/bnoordhuis/bspc && cd bspc && make clean && make
I receive the error:
collect2: error: ld returned 1 exit status
make: *** [Makefile:92: bspc] Error 1
Version of make
I use:
GNU Make 4.3
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Full output of the make clean && make
command:
rm -f _files.o aas_areamerging.o aas_cfg.o aas_create.o aas_edgemelting.o aas_facemerging.o aas_file.o aas_gsubdiv.o aas_map.o aas_prunenodes.o aas_store.o be_aas_bspc.o deps/botlib/be_aas_bspq3.o deps/botlib/be_aas_cluster.o deps/botlib/be_aas_move.o deps/botlib/be_aas_optimize.o deps/botlib/be_aas_reach.o deps/botlib/be_aas_sample.o brushbsp.o bspc.o deps/qcommon/cm_load.o deps/qcommon/cm_patch.o deps/qcommon/cm_test.o deps/qcommon/cm_trace.o csg.o glfile.o l_bsp_ent.o l_bsp_hl.o l_bsp_q1.o l_bsp_q2.o l_bsp_q3.o l_bsp_sin.o l_cmd.o deps/botlib/l_libvar.o l_log.o l_math.o l_mem.o l_poly.o deps/botlib/l_precomp.o l_qfiles.o deps/botlib/l_script.o deps/botlib/l_struct.o l_threads.o l_utils.o leakfile.o map.o map_hl.o map_q1.o map_q2.o map_q3.o map_sin.o deps/qcommon/md4.o nodraw.o portals.o textures.o tree.o deps/qcommon/unzip.o bspc bspc_g
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o _files.o -c _files.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o aas_areamerging.o -c aas_areamerging.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o aas_cfg.o -c aas_cfg.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o aas_create.o -c aas_create.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o aas_edgemelting.o -c aas_edgemelting.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o aas_facemerging.o -c aas_facemerging.c
aas_facemerging.c: In function ‘AAS_CanMergePlaneFaces’:
aas_facemerging.c:238:7: warning: ‘faceflags’ may be used uninitialized in this function [-Wmaybe-uninitialized]
238 | if (faceflags != face1->faceflags) return false;
| ^
aas_facemerging.c: In function ‘AAS_MergeAreaPlaneFaces’:
aas_facemerging.c:238:7: warning: ‘faceflags’ may be used uninitialized in this function [-Wmaybe-uninitialized]
238 | if (faceflags != face1->faceflags) return false;
| ^
aas_facemerging.c:220:20: note: ‘faceflags’ was declared here
220 | int side1, merge, faceflags;
| ^~~~~~~~~
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o aas_file.o -c aas_file.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o aas_gsubdiv.o -c aas_gsubdiv.c
In file included from qbsp.h:29,
from aas_gsubdiv.c:23:
aas_gsubdiv.c: In function ‘AAS_LadderSubdivideArea_r’:
l_math.h:60:42: warning: ‘lowestpoint[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
60 | #define DotProduct(x,y) (x[0]*y[0]+x[1]*y[1]+x[2]*y[2])
| ^
aas_gsubdiv.c:531:9: note: ‘lowestpoint[1]’ was declared here
531 | vec3_t lowestpoint, normal = {0, 0, 1};
| ^~~~~~~~~~~
In file included from qbsp.h:29,
from aas_gsubdiv.c:23:
l_math.h:60:32: warning: ‘lowestpoint[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
60 | #define DotProduct(x,y) (x[0]*y[0]+x[1]*y[1]+x[2]*y[2])
| ^
aas_gsubdiv.c:531:9: note: ‘lowestpoint[0]’ was declared here
531 | vec3_t lowestpoint, normal = {0, 0, 1};
| ^~~~~~~~~~~
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o aas_map.o -c aas_map.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o aas_prunenodes.o -c aas_prunenodes.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o aas_store.o -c aas_store.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o be_aas_bspc.o -c be_aas_bspc.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o deps/botlib/be_aas_bspq3.o -c deps/botlib/be_aas_bspq3.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o deps/botlib/be_aas_cluster.o -c deps/botlib/be_aas_cluster.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o deps/botlib/be_aas_move.o -c deps/botlib/be_aas_move.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o deps/botlib/be_aas_optimize.o -c deps/botlib/be_aas_optimize.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o deps/botlib/be_aas_reach.o -c deps/botlib/be_aas_reach.c
In file included from deps/botlib/be_aas_reach.c:32:
deps/botlib/be_aas_reach.c: In function ‘AAS_Reachability_Step_Barrier_WaterJump_WalkOffLedge’:
deps/qcommon/q_shared.h:453:101: warning: ‘water_bestnormal[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:1068:41: note: ‘water_bestnormal[2]’ was declared here
1068 | vec3_t water_beststart, water_bestend, water_bestnormal;
| ^~~~~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:453:76: warning: ‘water_bestnormal[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:1068:41: note: ‘water_bestnormal[1]’ was declared here
1068 | vec3_t water_beststart, water_bestend, water_bestnormal;
| ^~~~~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:453:51: warning: ‘water_bestnormal[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:1068:41: note: ‘water_bestnormal[0]’ was declared here
1068 | vec3_t water_beststart, water_bestend, water_bestnormal;
| ^~~~~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:453:94: warning: ‘water_bestend[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:1068:26: note: ‘water_bestend[2]’ was declared here
1068 | vec3_t water_beststart, water_bestend, water_bestnormal;
| ^~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:453:69: warning: ‘water_bestend[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:1068:26: note: ‘water_bestend[1]’ was declared here
1068 | vec3_t water_beststart, water_bestend, water_bestnormal;
| ^~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:453:44: warning: ‘water_bestend[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:1068:26: note: ‘water_bestend[0]’ was declared here
1068 | vec3_t water_beststart, water_bestend, water_bestnormal;
| ^~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:451:62: warning: ‘water_beststart[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
451 | #define VectorCopy(a,b) ((b)[0]=(a)[0],(b)[1]=(a)[1],(b)[2]=(a)[2])
| ^
deps/botlib/be_aas_reach.c:1068:9: note: ‘water_beststart[2]’ was declared here
1068 | vec3_t water_beststart, water_bestend, water_bestnormal;
| ^~~~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:451:48: warning: ‘water_beststart[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
451 | #define VectorCopy(a,b) ((b)[0]=(a)[0],(b)[1]=(a)[1],(b)[2]=(a)[2])
| ^
deps/botlib/be_aas_reach.c:1068:9: note: ‘water_beststart[1]’ was declared here
1068 | vec3_t water_beststart, water_bestend, water_bestnormal;
| ^~~~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:451:34: warning: ‘water_beststart[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
451 | #define VectorCopy(a,b) ((b)[0]=(a)[0],(b)[1]=(a)[1],(b)[2]=(a)[2])
| ^
deps/botlib/be_aas_reach.c:1068:9: note: ‘water_beststart[0]’ was declared here
1068 | vec3_t water_beststart, water_bestend, water_bestnormal;
| ^~~~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:453:101: warning: ‘ground_bestnormal[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:1067:43: note: ‘ground_bestnormal[2]’ was declared here
1067 | vec3_t ground_beststart, ground_bestend, ground_bestnormal;
| ^~~~~~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:453:76: warning: ‘ground_bestnormal[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:1067:43: note: ‘ground_bestnormal[1]’ was declared here
1067 | vec3_t ground_beststart, ground_bestend, ground_bestnormal;
| ^~~~~~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:453:51: warning: ‘ground_bestnormal[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:1067:43: note: ‘ground_bestnormal[0]’ was declared here
1067 | vec3_t ground_beststart, ground_bestend, ground_bestnormal;
| ^~~~~~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:453:94: warning: ‘ground_bestend[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:1067:27: note: ‘ground_bestend[2]’ was declared here
1067 | vec3_t ground_beststart, ground_bestend, ground_bestnormal;
| ^~~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:453:69: warning: ‘ground_bestend[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:1067:27: note: ‘ground_bestend[1]’ was declared here
1067 | vec3_t ground_beststart, ground_bestend, ground_bestnormal;
| ^~~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:453:44: warning: ‘ground_bestend[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:1067:27: note: ‘ground_bestend[0]’ was declared here
1067 | vec3_t ground_beststart, ground_bestend, ground_bestnormal;
| ^~~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:453:91: warning: ‘ground_beststart[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:1067:9: note: ‘ground_beststart[2]’ was declared here
1067 | vec3_t ground_beststart, ground_bestend, ground_bestnormal;
| ^~~~~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:453:66: warning: ‘ground_beststart[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:1067:9: note: ‘ground_beststart[1]’ was declared here
1067 | vec3_t ground_beststart, ground_bestend, ground_bestnormal;
| ^~~~~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:453:41: warning: ‘ground_beststart[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:1067:9: note: ‘ground_beststart[0]’ was declared here
1067 | vec3_t ground_beststart, ground_bestend, ground_bestnormal;
| ^~~~~~~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/botlib/be_aas_reach.c: In function ‘AAS_Reachability_Ladder’:
deps/qcommon/q_shared.h:453:69: warning: ‘lowestpoint[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:2382:14: note: ‘lowestpoint[1]’ was declared here
2382 | vec3_t mid, lowestpoint, start, end, sharededgevec, dir;
| ^~~~~~~~~~~
In file included from deps/botlib/be_aas_reach.c:32:
deps/qcommon/q_shared.h:453:44: warning: ‘lowestpoint[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
453 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
| ^
deps/botlib/be_aas_reach.c:2382:14: note: ‘lowestpoint[0]’ was declared here
2382 | vec3_t mid, lowestpoint, start, end, sharededgevec, dir;
| ^~~~~~~~~~~
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o deps/botlib/be_aas_sample.o -c deps/botlib/be_aas_sample.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o brushbsp.o -c brushbsp.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o bspc.o -c bspc.c
bspc.c: In function ‘CreateAASFilesForAllBSPFiles’:
bspc.c:482:26: warning: ‘%s’ directive writing up to 1023 bytes into a region of size between 0 and 1023 [-Wformat-overflow=]
482 | sprintf(aasfile, "%s/%s", qf->pakfile, qf->origname);
| ^~
In file included from /usr/include/stdio.h:867,
from l_cmd.h:40,
from qbsp.h:28,
from bspc.c:36:
/usr/include/bits/stdio2.h:36:10: note: ‘__builtin___sprintf_chk’ output between 2 and 2048 bytes into a destination of size 1024
36 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bspc.c:487:23: warning: ‘%s’ directive writing up to 1023 bytes into a region of size between 0 and 1023 [-Wformat-overflow=]
487 | sprintf(buf, "%s/%s", qf2->pakfile, qf2->origname);
| ^~
In file included from /usr/include/stdio.h:867,
from l_cmd.h:40,
from qbsp.h:28,
from bspc.c:36:
/usr/include/bits/stdio2.h:36:10: note: ‘__builtin___sprintf_chk’ output between 2 and 2048 bytes into a destination of size 1024
36 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o deps/qcommon/cm_load.o -c deps/qcommon/cm_load.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o deps/qcommon/cm_patch.o -c deps/qcommon/cm_patch.c
deps/qcommon/cm_patch.c: In function ‘CM_TraceThroughPatchCollide’:
deps/qcommon/cm_patch.c:1382:18: warning: ‘bestplane[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
1382 | float plane[4], bestplane[4];
| ^~~~~~~~~
deps/qcommon/cm_patch.c:1382:18: warning: ‘bestplane[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
deps/qcommon/cm_patch.c:1382:18: warning: ‘bestplane[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
deps/qcommon/cm_patch.c:1382:18: warning: ‘bestplane[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o deps/qcommon/cm_test.o -c deps/qcommon/cm_test.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o deps/qcommon/cm_trace.o -c deps/qcommon/cm_trace.c
deps/qcommon/cm_trace.c: In function ‘SquareRootFloat’:
deps/qcommon/cm_trace.c:140:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
140 | i = * ( long * ) &y;
| ^~~~~~~~~~~~~
deps/qcommon/cm_trace.c:142:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
142 | y = * ( float * ) &i;
| ^~~~~~~~~~~~~~
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o csg.o -c csg.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o glfile.o -c glfile.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o l_bsp_ent.o -c l_bsp_ent.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o l_bsp_hl.o -c l_bsp_hl.c
l_bsp_hl.c: In function ‘HL_AllocMaxBSP’:
l_bsp_hl.c:154:40: warning: right-hand operand of comma expression has no effect [-Wunused-value]
154 | hl_allocatedbspmem += HL_MAX_MAP_EDGES, sizeof(hl_dedge_t);
| ^
l_bsp_hl.c: In function ‘HL_PrintBSPFileSizes’:
l_bsp_hl.c:643:31: warning: division ‘sizeof (hl_dmodel_t *) / sizeof (hl_dmodel_t)’ does not compute the number of array elements [-Wsizeof-pointer-div]
643 | #define ENTRIES(a) (sizeof(a)/sizeof(*(a)))
| ^
l_bsp_hl.c:695:55: note: in expansion of macro ‘ENTRIES’
695 | totalmemory += ArrayUsage( "models", hl_nummodels, ENTRIES(hl_dmodels), ENTRYSIZE(hl_dmodels) );
| ^~~~~~~
l_bsp_hl.c:33:15: note: first ‘sizeof’ operand was declared here
33 | hl_dmodel_t *hl_dmodels;//[HL_MAX_MAP_MODELS];
| ^~~~~~~~~~
l_bsp_hl.c:643:31: warning: division ‘sizeof (hl_dplane_t *) / sizeof (hl_dplane_t)’ does not compute the number of array elements [-Wsizeof-pointer-div]
643 | #define ENTRIES(a) (sizeof(a)/sizeof(*(a)))
| ^
l_bsp_hl.c:696:55: note: in expansion of macro ‘ENTRIES’
696 | totalmemory += ArrayUsage( "planes", hl_numplanes, ENTRIES(hl_dplanes), ENTRYSIZE(hl_dplanes) );
| ^~~~~~~
l_bsp_hl.c:57:15: note: first ‘sizeof’ operand was declared here
57 | hl_dplane_t *hl_dplanes;//[HL_MAX_MAP_PLANES];
| ^~~~~~~~~~
l_bsp_hl.c:643:31: warning: division ‘sizeof (hl_dvertex_t *) / sizeof (hl_dvertex_t)’ does not compute the number of array elements [-Wsizeof-pointer-div]
643 | #define ENTRIES(a) (sizeof(a)/sizeof(*(a)))
| ^
l_bsp_hl.c:697:58: note: in expansion of macro ‘ENTRIES’
697 | totalmemory += ArrayUsage( "vertexes", hl_numvertexes, ENTRIES(hl_dvertexes), ENTRYSIZE(hl_dvertexes) );
| ^~~~~~~
l_bsp_hl.c:61:15: note: first ‘sizeof’ operand was declared here
61 | hl_dvertex_t *hl_dvertexes;//[HL_MAX_MAP_VERTS];
| ^~~~~~~~~~~~
l_bsp_hl.c:643:31: warning: division ‘sizeof (hl_dnode_t *) / sizeof (hl_dnode_t)’ does not compute the number of array elements [-Wsizeof-pointer-div]
643 | #define ENTRIES(a) (sizeof(a)/sizeof(*(a)))
| ^
l_bsp_hl.c:698:54: note: in expansion of macro ‘ENTRIES’
698 | totalmemory += ArrayUsage( "nodes", hl_numnodes, ENTRIES(hl_dnodes), ENTRYSIZE(hl_dnodes) );
| ^~~~~~~
l_bsp_hl.c:65:14: note: first ‘sizeof’ operand was declared here
65 | hl_dnode_t *hl_dnodes;//[HL_MAX_MAP_NODES];
| ^~~~~~~~~
l_bsp_hl.c:643:31: warning: division ‘sizeof (hl_texinfo_t * {aka struct hl_texinfo_s *}) / sizeof (hl_texinfo_t {aka struct hl_texinfo_s})’ does not compute the number of array elements [-Wsizeof-pointer-div]
643 | #define ENTRIES(a) (sizeof(a)/sizeof(*(a)))
| ^
l_bsp_hl.c:699:58: note: in expansion of macro ‘ENTRIES’
699 | totalmemory += ArrayUsage( "texinfos", hl_numtexinfo, ENTRIES(hl_texinfo), ENTRYSIZE(hl_texinfo) );
| ^~~~~~~
l_bsp_hl.c:69:15: note: first ‘sizeof’ operand was declared here
69 | hl_texinfo_t *hl_texinfo;//[HL_MAX_MAP_TEXINFO];
| ^~~~~~~~~~
l_bsp_hl.c:643:31: warning: division ‘sizeof (hl_dface_t *) / sizeof (hl_dface_t)’ does not compute the number of array elements [-Wsizeof-pointer-div]
643 | #define ENTRIES(a) (sizeof(a)/sizeof(*(a)))
| ^
l_bsp_hl.c:700:54: note: in expansion of macro ‘ENTRIES’
700 | totalmemory += ArrayUsage( "faces", hl_numfaces, ENTRIES(hl_dfaces), ENTRYSIZE(hl_dfaces) );
| ^~~~~~~
l_bsp_hl.c:73:14: note: first ‘sizeof’ operand was declared here
73 | hl_dface_t *hl_dfaces;//[HL_MAX_MAP_FACES];
| ^~~~~~~~~
l_bsp_hl.c:643:31: warning: division ‘sizeof (hl_dclipnode_t *) / sizeof (hl_dclipnode_t)’ does not compute the number of array elements [-Wsizeof-pointer-div]
643 | #define ENTRIES(a) (sizeof(a)/sizeof(*(a)))
| ^
l_bsp_hl.c:701:59: note: in expansion of macro ‘ENTRIES’
701 | totalmemory += ArrayUsage( "clipnodes", hl_numclipnodes, ENTRIES(hl_dclipnodes), ENTRYSIZE(hl_dclipnodes) );
| ^~~~~~~
l_bsp_hl.c:77:17: note: first ‘sizeof’ operand was declared here
77 | hl_dclipnode_t *hl_dclipnodes;//[HL_MAX_MAP_CLIPNODES];
| ^~~~~~~~~~~~~
l_bsp_hl.c:643:31: warning: division ‘sizeof (hl_dleaf_t *) / sizeof (hl_dleaf_t)’ does not compute the number of array elements [-Wsizeof-pointer-div]
643 | #define ENTRIES(a) (sizeof(a)/sizeof(*(a)))
| ^
l_bsp_hl.c:702:54: note: in expansion of macro ‘ENTRIES’
702 | totalmemory += ArrayUsage( "leaves", hl_numleafs, ENTRIES(hl_dleafs), ENTRYSIZE(hl_dleafs) );
| ^~~~~~~
l_bsp_hl.c:53:14: note: first ‘sizeof’ operand was declared here
53 | hl_dleaf_t *hl_dleafs;//[HL_MAX_MAP_LEAFS];
| ^~~~~~~~~
l_bsp_hl.c:643:31: warning: division ‘sizeof (short unsigned int *) / sizeof (short unsigned int)’ does not compute the number of array elements [-Wsizeof-pointer-div]
643 | #define ENTRIES(a) (sizeof(a)/sizeof(*(a)))
| ^
l_bsp_hl.c:703:63: note: in expansion of macro ‘ENTRIES’
703 | totalmemory += ArrayUsage( "marksurfaces",hl_nummarksurfaces,ENTRIES(hl_dmarksurfaces),ENTRYSIZE(hl_dmarksurfaces) );
| ^~~~~~~
l_bsp_hl.c:85:17: note: first ‘sizeof’ operand was declared here
85 | unsigned short *hl_dmarksurfaces;//[HL_MAX_MAP_MARKSURFACES];
| ^~~~~~~~~~~~~~~~
l_bsp_hl.c:643:31: warning: division ‘sizeof (int *) / sizeof (int)’ does not compute the number of array elements [-Wsizeof-pointer-div]
643 | #define ENTRIES(a) (sizeof(a)/sizeof(*(a)))
| ^
l_bsp_hl.c:704:59: note: in expansion of macro ‘ENTRIES’
704 | totalmemory += ArrayUsage( "surfedges", hl_numsurfedges, ENTRIES(hl_dsurfedges), ENTRYSIZE(hl_dsurfedges) );
| ^~~~~~~
l_bsp_hl.c:89:9: note: first ‘sizeof’ operand was declared here
89 | int *hl_dsurfedges;//[HL_MAX_MAP_SURFEDGES];
| ^~~~~~~~~~~~~
l_bsp_hl.c:643:31: warning: division ‘sizeof (hl_dedge_t *) / sizeof (hl_dedge_t)’ does not compute the number of array elements [-Wsizeof-pointer-div]
643 | #define ENTRIES(a) (sizeof(a)/sizeof(*(a)))
| ^
l_bsp_hl.c:705:54: note: in expansion of macro ‘ENTRIES’
705 | totalmemory += ArrayUsage( "edges", hl_numedges, ENTRIES(hl_dedges), ENTRYSIZE(hl_dedges) );
| ^~~~~~~
l_bsp_hl.c:81:14: note: first ‘sizeof’ operand was declared here
81 | hl_dedge_t *hl_dedges;//[HL_MAX_MAP_EDGES];
| ^~~~~~~~~
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o l_bsp_q1.o -c l_bsp_q1.c
l_bsp_q1.c: In function ‘Q1_AllocMaxBSP’:
l_bsp_q1.c:136:40: warning: right-hand operand of comma expression has no effect [-Wunused-value]
136 | q1_allocatedbspmem += Q1_MAX_MAP_EDGES, sizeof(q1_dedge_t);
| ^
l_bsp_q1.c: In function ‘Q1_SwapBSPFile’:
l_bsp_q1.c:281:31: warning: iteration 4 invokes undefined behavior [-Waggressive-loop-optimizations]
281 | q1_texinfo[i].vecs[0][j] = LittleFloat(q1_texinfo[i].vecs[0][j]);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
l_bsp_q1.c:280:3: note: within this loop
280 | for (j=0 ; j<8 ; j++)
| ^~~
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o l_bsp_q2.o -c l_bsp_q2.c
l_bsp_q2.c: In function ‘Q2_LoadBSPFileTexinfo’:
l_bsp_q2.c:920:2: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
920 | fread (header, sizeof(dheader_t), 1, f);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
l_bsp_q2.c:936:2: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
936 | fread (texinfo, length, 1, f);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
l_bsp_q2.c: In function ‘Q2_SwapBSPFile’:
l_bsp_q2.c:692:28: warning: iteration 4 invokes undefined behavior [-Waggressive-loop-optimizations]
692 | texinfo[i].vecs[0][j] = LittleFloat (texinfo[i].vecs[0][j]);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
l_bsp_q2.c:691:3: note: within this loop
691 | for (j=0 ; j<8 ; j++)
| ^~~
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o l_bsp_q3.o -c l_bsp_q3.c
l_bsp_q3.c: In function ‘Q3_SwapBSPFile’:
l_bsp_q3.c:508:23: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
508 | ((int *)&q3_visBytes)[0] = LittleLong( ((int *)&q3_visBytes)[0] );
| ^
l_bsp_q3.c:508:62: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
508 | ((int *)&q3_visBytes)[0] = LittleLong( ((int *)&q3_visBytes)[0] );
| ^
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o l_bsp_sin.o -c l_bsp_sin.c
l_bsp_sin.c: In function ‘Sin_LoadBSPFileTexinfo’:
l_bsp_sin.c:914:2: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
914 | fread (header, sizeof(sin_dheader_t), 1, f);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
l_bsp_sin.c:930:2: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
930 | fread (sin_texinfo, length, 1, f);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
l_bsp_sin.c: In function ‘Sin_SwapBSPFile’:
l_bsp_sin.c:592:32: warning: iteration 4 invokes undefined behavior [-Waggressive-loop-optimizations]
592 | sin_texinfo[i].vecs[0][j] = LittleFloat (sin_texinfo[i].vecs[0][j]);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
l_bsp_sin.c:591:3: note: within this loop
591 | for (j=0 ; j<8 ; j++)
| ^~~
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o l_cmd.o -c l_cmd.c
l_cmd.c: In function ‘ExpandPathAndArchive’:
l_cmd.c:341:31: warning: ‘__builtin___sprintf_chk’ may write a terminating nul past the end of the destination [-Wformat-overflow=]
341 | sprintf (archivename, "%s/%s", archivedir, path);
| ^
In file included from /usr/include/stdio.h:867,
from l_cmd.h:40,
from l_cmd.c:25:
/usr/include/bits/stdio2.h:36:10: note: ‘__builtin___sprintf_chk’ output 2 or more bytes (assuming 1025) into a destination of size 1024
36 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o deps/botlib/l_libvar.o -c deps/botlib/l_libvar.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o l_log.o -c l_log.c
In file included from /usr/include/string.h:495,
from l_log.c:25:
In function ‘strncpy’,
inlined from ‘Log_Open’ at l_log.c:64:2:
/usr/include/bits/string_fortified.h:106:10: warning: ‘__builtin_strncpy’ specified bound 1024 equals destination size [-Wstringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o l_math.o -c l_math.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o l_mem.o -c l_mem.c
l_mem.c: In function ‘Hunk_Alloc’:
l_mem.c:413:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
413 | if (!size) return (void *) memhunk_high_size;
| ^
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o l_poly.o -c l_poly.c
l_poly.c: In function ‘CopyWinding’:
l_poly.c:328:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
328 | size = (int)((winding_t *)0)->p[w->numpoints];
| ^
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o deps/botlib/l_precomp.o -c deps/botlib/l_precomp.c
deps/botlib/l_precomp.c: In function ‘PC_ExpandBuiltinDefine’:
deps/botlib/l_precomp.c:739:20: warning: pointer targets in passing argument 1 of ‘ctime’ differ in signedness [-Wpointer-sign]
739 | curtime = ctime(&t);
| ^~
| |
| long unsigned int *
In file included from ./l_cmd.h:45,
from ./qbsp.h:28,
from deps/botlib/l_precomp.c:80:
/usr/include/time.h:142:35: note: expected ‘const time_t *’ {aka ‘const long int *’} but argument is of type ‘long unsigned int *’
142 | extern char *ctime (const time_t *__timer) __THROW;
| ~~~~~~~~~~~~~~^~~~~~~
deps/botlib/l_precomp.c:754:20: warning: pointer targets in passing argument 1 of ‘ctime’ differ in signedness [-Wpointer-sign]
754 | curtime = ctime(&t);
| ^~
| |
| long unsigned int *
In file included from ./l_cmd.h:45,
from ./qbsp.h:28,
from deps/botlib/l_precomp.c:80:
/usr/include/time.h:142:35: note: expected ‘const time_t *’ {aka ‘const long int *’} but argument is of type ‘long unsigned int *’
142 | extern char *ctime (const time_t *__timer) __THROW;
| ~~~~~~~~~~~~~~^~~~~~~
deps/botlib/l_precomp.c: In function ‘PC_EvaluateTokens’:
deps/botlib/l_precomp.c:1699:6: warning: variable ‘lastoperatortype’ set but not used [-Wunused-but-set-variable]
1699 | int lastoperatortype = 0;
| ^~~~~~~~~~~~~~~~
In file included from /usr/include/string.h:495,
from ./l_cmd.h:41,
from ./qbsp.h:28,
from deps/botlib/l_precomp.c:80:
In function ‘strncat’,
inlined from ‘PC_Directive_include.part.0’ at deps/botlib/l_precomp.c:1013:4:
/usr/include/bits/string_fortified.h:136:10: warning: ‘__builtin___strncat_chk’ output may be truncated copying 64 bytes from a string of length 1023 [-Wstringop-truncation]
136 | return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o l_qfiles.o -c l_qfiles.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o deps/botlib/l_script.o -c deps/botlib/l_script.c
deps/botlib/l_script.c: In function ‘LoadScriptFile’:
deps/botlib/l_script.c:1370:19: warning: implicit declaration of function ‘COM_Compress’ [-Wimplicit-function-declaration]
1370 | script->length = COM_Compress(script->buffer);
| ^~~~~~~~~~~~
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o deps/botlib/l_struct.o -c deps/botlib/l_struct.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o l_threads.o -c l_threads.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o l_utils.o -c l_utils.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o leakfile.o -c leakfile.c
leakfile.c: In function ‘LeakFile’:
leakfile.c:60:24: warning: ‘.lin’ directive writing 4 bytes into a region of size between 1 and 1024 [-Wformat-overflow=]
60 | sprintf (filename, "%s.lin", source);
| ^~~~
In file included from /usr/include/stdio.h:867,
from l_cmd.h:40,
from qbsp.h:28,
from leakfile.c:23:
/usr/include/bits/stdio2.h:36:10: note: ‘__builtin___sprintf_chk’ output between 5 and 1028 bytes into a destination of size 1024
36 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
leakfile.c:68:13: warning: ‘nextnode’ may be used uninitialized in this function [-Wmaybe-uninitialized]
68 | while (node->occupied > 1)
| ~~~~^~~~~~~~~~
leakfile.c:89:3: warning: ‘nextportal’ may be used uninitialized in this function [-Wmaybe-uninitialized]
89 | WindingCenter (nextportal->winding, mid);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o map.o -c map.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o map_hl.o -c map_hl.c
map_hl.c: In function ‘HL_SplitBrushWithFace’:
map_hl.c:688:3: warning: ‘front’ may be used uninitialized in this function [-Wmaybe-uninitialized]
688 | FreeBrush(front);
| ^~~~~~~~~~~~~~~~
map_hl.c:688:3: warning: ‘front’ may be used uninitialized in this function [-Wmaybe-uninitialized]
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o map_q1.o -c map_q1.c
map_q1.c: In function ‘Q1_SplitBrushWithFace’:
map_q1.c:744:3: warning: ‘front’ may be used uninitialized in this function [-Wmaybe-uninitialized]
744 | FreeBrush(front);
| ^~~~~~~~~~~~~~~~
map_q1.c:744:3: warning: ‘front’ may be used uninitialized in this function [-Wmaybe-uninitialized]
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o map_q2.o -c map_q2.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o map_q3.o -c map_q3.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o map_sin.o -c map_sin.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o deps/qcommon/md4.o -c deps/qcommon/md4.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o nodraw.o -c nodraw.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o portals.o -c portals.c
portals.c: In function ‘MakeNodePortal’:
portals.c:417:36: warning: ‘side’ may be used uninitialized in this function [-Wmaybe-uninitialized]
417 | for (p = node->portals; p && w; p = p->next[side])
| ~~^~~~~~~~~~~~~~~
portals.c:435:3: warning: ‘dist’ may be used uninitialized in this function [-Wmaybe-uninitialized]
435 | ChopWindingInPlace (&w, normal, dist, 0.1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
portals.c: In function ‘SplitNodePortals’:
portals.c:485:6: warning: ‘side’ may be used uninitialized in this function [-Wmaybe-uninitialized]
485 | int side;
| ^~~~
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o textures.o -c textures.c
textures.c: In function ‘FindMiptex’:
textures.c:53:20: warning: ‘textures/’ directive writing 9 bytes into a region of size between 1 and 1024 [-Wformat-overflow=]
53 | sprintf (path, "%stextures/%s.wal", gamedir, name);
| ^~~~~~~~~
In file included from /usr/include/stdio.h:867,
from l_cmd.h:40,
from qbsp.h:28,
from textures.c:23:
/usr/include/bits/stdio2.h:36:10: note: ‘__builtin___sprintf_chk’ output 14 or more bytes (assuming 1037) into a destination of size 1024
36 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o tree.o -c tree.c
gcc -Dstricmp=strcasecmp -DCom_Memcpy=memcpy -DCom_Memset=memset -DMAC_STATIC= -DQDECL= -DLINUX -DBSPC -D_FORTIFY_SOURCE=2 -I. -Ideps -Wall -O3 -ffast-math -o deps/qcommon/unzip.o -c deps/qcommon/unzip.c
deps/qcommon/unzip.c: In function ‘unzClose’:
deps/qcommon/unzip.c:1415:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
1415 | if (s->pfile_in_zip_read!=NULL)
| ^~
deps/qcommon/unzip.c:1418:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
1418 | fclose(s->file);
| ^~~~~~
deps/qcommon/unzip.c: In function ‘unzLocateFile’:
deps/qcommon/unzip.c:1740:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
1740 | if (strlen(szFileName)>=UNZ_MAXFILENAMEINZIP)
| ^~
deps/qcommon/unzip.c:1743:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
1743 | s=(unz_s*)file;
| ^
deps/qcommon/unzip.c: In function ‘unzlocal_CheckCurrentFileCoherencyHeader’:
deps/qcommon/unzip.c:1815:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
1815 | if ((err==UNZ_OK) && (s->cur_file_info.compression_method!=0) &&
| ^~
deps/qcommon/unzip.c:1819:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
1819 | if (unzlocal_getLong(s->file,&uData) != UNZ_OK) /* date/time */
| ^~
deps/qcommon/unzip.c: In function ‘unzOpenCurrentFile’:
deps/qcommon/unzip.c:1879:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
1879 | if (s->pfile_in_zip_read != NULL)
| ^~
deps/qcommon/unzip.c:1882:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
1882 | if (unzlocal_CheckCurrentFileCoherencyHeader(s,&iSizeVar,
| ^~
deps/qcommon/unzip.c: In function ‘unzlocal_getLong’:
deps/qcommon/unzip.c:1140:2: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
1140 | fread( &v, sizeof(v), 1, fin );
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deps/qcommon/unzip.c: In function ‘unzlocal_getShort’:
deps/qcommon/unzip.c:1111:2: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
1111 | fread( &v, sizeof(v), 1, fin );
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
At top level:
deps/qcommon/unzip.c:2922:19: warning: ‘inflate_copyright’ defined but not used [-Wunused-const-variable=]
2922 | static const char inflate_copyright[] =
| ^~~~~~~~~~~~~~~~~
gcc -o bspc _files.o aas_areamerging.o aas_cfg.o aas_create.o aas_edgemelting.o aas_facemerging.o aas_file.o aas_gsubdiv.o aas_map.o aas_prunenodes.o aas_store.o be_aas_bspc.o deps/botlib/be_aas_bspq3.o deps/botlib/be_aas_cluster.o deps/botlib/be_aas_move.o deps/botlib/be_aas_optimize.o deps/botlib/be_aas_reach.o deps/botlib/be_aas_sample.o brushbsp.o bspc.o deps/qcommon/cm_load.o deps/qcommon/cm_patch.o deps/qcommon/cm_test.o deps/qcommon/cm_trace.o csg.o glfile.o l_bsp_ent.o l_bsp_hl.o l_bsp_q1.o l_bsp_q2.o l_bsp_q3.o l_bsp_sin.o l_cmd.o deps/botlib/l_libvar.o l_log.o l_math.o l_mem.o l_poly.o deps/botlib/l_precomp.o l_qfiles.o deps/botlib/l_script.o deps/botlib/l_struct.o l_threads.o l_utils.o leakfile.o map.o map_hl.o map_q1.o map_q2.o map_q3.o map_sin.o deps/qcommon/md4.o nodraw.o portals.o textures.o tree.o deps/qcommon/unzip.o -lm -lpthread
/usr/bin/ld: bspc.o:(.bss+0x60): multiple definition of `aassettings'; deps/botlib/be_aas_move.o:(.bss+0x0): first defined here
/usr/bin/ld: l_bsp_q2.o:(.bss+0xa0): multiple definition of `wadfile'; l_bsp_hl.o:(.bss+0x80): first defined here
/usr/bin/ld: l_bsp_q2.o:(.bss+0x0): multiple definition of `outheader'; l_bsp_hl.o:(.bss+0x0): first defined here
/usr/bin/ld: l_bsp_sin.o:(.bss+0xb0): multiple definition of `header'; l_bsp_q2.o:(.bss+0xa8): first defined here
/usr/bin/ld: l_bsp_sin.o:(.bss+0xa8): multiple definition of `wadfile'; l_bsp_hl.o:(.bss+0x80): first defined here
/usr/bin/ld: l_bsp_sin.o:(.bss+0x0): multiple definition of `outheader'; l_bsp_hl.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:92: bspc] Error 1
This is fixed in #5, specifically https://github.com/bnoordhuis/bspc/pull/5/commits/d5f396c2f184932eb2b1763253b98a21f8ff47d1