Description
Build on Linux
I am only making this issue because I am bad at remembering what where I was on a project 💀
Goal
The goal is to get a build working on linux and then later create a github action to do so, but currently there are a number of issues.
Current Progress
All current progress I've done so far is on this fork
Up to this point this is what I have done:
Everything done so far is done in WSL Ubuntu
.-/+oossssoo+/-.
`:+ssssssssssssssssss+:`
-+ssssssssssssssssssyyssss+-
.ossssssssssssssssssdMMMNysssso.
/ssssssssssshdmmNNmmyNMMMMhssssss/
+ssssssssshmydMMMMMMMNddddyssssssss+
/sssssssshNMMMyhhyyyyhmNMMMNhssssssss/
.ssssssssdMMMNhsssssssssshNMMMdssssssss.
+sssshhhyNMMNyssssssssssssyNMMMysssssss+
ossyNMMMNyMMhsssssssssssssshmmmhssssssso
ossyNMMMNyMMhsssssssssssssshmmmhssssssso -------------------------------
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ OS: Ubuntu 22.04.3 LTS on Windows 10 x86_64
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Kernel: 5.15.133.1-microsoft-standard-WSL2
/sssssssshNMMMyhhyyyyhdNMMMNhssssssss/ Uptime: 1 day, 34 mins
+sssssssssdmydMMMMMMMMddddyssssssss+ Packages: 582 (dpkg), 7 (snap)
/ssssssssssshdmNNNNmyNMMMMhssssss/ Shell: bash 5.1.16
.ossssssssssssssssssdMMMNysssso. Terminal: vscode
-+sssssssssssssssssyyyssss+- CPU: Intel i5-10400F (12) @ 2.904GHz
`:+ssssssssssssssssss+:` GPU: 6191:00:00.0 Microsoft Corporation Device 008e
.-/+oossssoo+/-. Memory: 1049MiB / 11923MiB
I downloaded premake5 from here (Premake 5.0.0 beta2) and placed it in the gwater2/binary
folder
I then ran these commands to get things started:
./premake5 --os=linux
make config=release_x86_64 all
Running those yielded this issue:
==== Building gmcl_gwater2 (release_x86_64) ====
Creating x86_64/Release/intermediate/gmcl_gwater2
BSPParser.cpp
BSPParser/BSPParser.cpp: In member function ‘bool BSPMap::ParseGameLumps()’:
BSPParser/BSPParser.cpp:57:57: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int32_t’ {aka ‘const int’} [-Wsign-compare]
57 | *pGameLumpHeader * sizeof(GameLump) + sizeof(int32_t) > mpHeader->lumps[static_cast<size_t>(LUMP::GAME_LUMP)].length
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BSPParser/BSPParser.cpp:63:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
63 | for (int i = 0; i < mNumGameLumps; i++) {
| ~~^~~~~~~~~~~~~~~
BSPParser/BSPParser.cpp: In member function ‘bool BSPMap::CalcUVs(int16_t, const BSPStructs::Vector*, float*) const’:
BSPParser/BSPParser.cpp:150:35: warning: comparison of integer expressions of different signedness: ‘const int16_t’ {aka ‘const short int’} and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare]
150 | if (texInfoIdx < 0 || texInfoIdx > mNumTexInfos) return false;
| ~~~~~~~~~~~^~~~~~~~~~~~~~
BSPParser/BSPParser.cpp:153:49: warning: comparison of integer expressions of different signedness: ‘const int32_t’ {aka ‘const int’} and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare]
153 | if (pTexInfo->texData < 0 || pTexInfo->texData >= mNumTexDatas) return false;
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
BSPParser/BSPParser.cpp: In member function ‘bool BSPMap::GetSurfEdgeVerts(int32_t, BSPStructs::Vector*, BSPStructs::Vector*) const’:
BSPParser/BSPParser.cpp:170:25: warning: comparison of integer expressions of different signedness: ‘const int32_t’ {aka ‘const int’} and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare]
170 | if (index < 0 || index >= mNumSurfEdges) return false;
| ~~~~~~^~~~~~~~~~~~~~~~
BSPParser/BSPParser.cpp:182:2: error: ‘memcpy’ was not declared in this scope
182 | memcpy(pVertA, mpVertices + iA, sizeof(Vector));
| ^~~~~~
BSPParser/BSPParser.cpp:8:1: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
7 | #include <cmath>
+++ |+#include <cstring>
8 | #include <stdexcept>
BSPParser/BSPParser.cpp: In member function ‘bool BSPMap::Triangulate()’:
BSPParser/BSPParser.cpp:203:28: warning: comparison of integer expressions of different signedness: ‘int16_t’ {aka ‘short int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
203 | if (texIdx < 0 || texIdx >= mNumTexInfos) continue;
| ~~~~~~~^~~~~~~~~~~~~~~
BSPParser/BSPParser.cpp:209:16: warning: comparison of integer expressions of different signedness: ‘int16_t’ {aka ‘short int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
209 | if (dispIdx >= mNumDispInfos) return false;
| ~~~~~~~~^~~~~~~~~~~~~~~~
BSPParser/BSPParser.cpp:241:32: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
241 | for (int dispIdx = 0; dispIdx < mNumDispInfos; dispIdx++) {
| ~~~~~~~~^~~~~~~~~~~~~~~
BSPParser/BSPParser.cpp:244:11: warning: unused variable ‘size’ [-Wunused-variable]
244 | int32_t size = 1 << pDispInfo->power;
| ^~~~
BSPParser/BSPParser.cpp:341:28: warning: comparison of integer expressions of different signedness: ‘int16_t’ {aka ‘short int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
341 | if (texIdx < 0 || texIdx >= mNumTexInfos) continue;
| ~~~~~~~^~~~~~~~~~~~~~~
BSPParser/BSPParser.cpp:373:5: error: ‘memcpy’ was not declared in this scope
373 | memcpy(uv0, rootUV, 2U * sizeof(float));
| ^~~~~~
BSPParser/BSPParser.cpp:373:5: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
BSPParser/BSPParser.cpp:461:7: error: ‘memcpy’ was not declared in this scope
461 | memcpy(uv0, disp.uvs + i0 * 2, sizeof(float) * 2);
| ^~~~~~
BSPParser/BSPParser.cpp:461:7: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
BSPParser/BSPParser.cpp: In constructor ‘BSPMap::BSPMap(const uint8_t*, size_t, bool)’:
BSPParser/BSPParser.cpp:515:2: error: ‘memcpy’ was not declared in this scope
515 | memcpy(mpData, pFileData, dataSize);
| ^~~~~~
BSPParser/BSPParser.cpp:515:2: note: ‘memcpy’ is defined in header ‘<cstring>’; did you forget to ‘#include <cstring>’?
BSPParser/BSPParser.cpp: In member function ‘BSPTexture BSPMap::GetTexture(int16_t) const’:
BSPParser/BSPParser.cpp:575:25: warning: comparison of integer expressions of different signedness: ‘const int16_t’ {aka ‘const short int’} and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare]
575 | if (index < 0 || index >= mNumTexInfos)
| ~~~~~~^~~~~~~~~~~~~~~
BSPParser/BSPParser.cpp:580:49: warning: comparison of integer expressions of different signedness: ‘const int32_t’ {aka ‘const int’} and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare]
580 | if (pTexInfo->texData < 0 || pTexInfo->texData >= mNumTexDatas)
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
BSPParser/BSPParser.cpp:586:31: warning: comparison of integer expressions of different signedness: ‘const int32_t’ {aka ‘const int’} and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare]
586 | pTexData->nameStringTableId >= mNumTexDataStringTableEntries
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from BSPParser/BSPParser.cpp:1:
BSPParser/BSPParser.h: In instantiation of ‘bool BSPMap::ParseStaticPropLump(const BSPStructs::GameLump&, const StaticProp**) [with StaticProp = BSPStructs::StaticPropV4]’:
BSPParser/BSPParser.cpp:72:62: required from here
BSPParser/BSPParser.h:123:38: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
123 | gameLump.offset + gameLump.length > mDataSize
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
BSPParser/BSPParser.h:127:21: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int32_t’ {aka ‘const int’} [-Wsign-compare]
127 | if (totalLumpSize > gameLump.length) return false; // Game lump size is corrupted
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
BSPParser/BSPParser.h:136:18: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int32_t’ {aka ‘const int’} [-Wsign-compare]
136 | totalLumpSize > gameLump.length
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
BSPParser/BSPParser.h:152:18: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int32_t’ {aka ‘const int’} [-Wsign-compare]
152 | totalLumpSize > gameLump.length
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
BSPParser/BSPParser.h:167:18: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int32_t’ {aka ‘const int’} [-Wsign-compare]
167 | totalLumpSize != gameLump.length // Use != here as we want to make sure we've read exactly the amount of data the lump was meant to have
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
BSPParser/BSPParser.h: In instantiation of ‘bool BSPMap::ParseStaticPropLump(const BSPStructs::GameLump&, const StaticProp**) [with StaticProp = BSPStructs::StaticPropV5]’:
BSPParser/BSPParser.cpp:75:62: required from here
BSPParser/BSPParser.h:123:38: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
123 | gameLump.offset + gameLump.length > mDataSize
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
BSPParser/BSPParser.h:127:21: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int32_t’ {aka ‘const int’} [-Wsign-compare]
127 | if (totalLumpSize > gameLump.length) return false; // Game lump size is corrupted
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
BSPParser/BSPParser.h:136:18: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int32_t’ {aka ‘const int’} [-Wsign-compare]
136 | totalLumpSize > gameLump.length
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
BSPParser/BSPParser.h:152:18: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int32_t’ {aka ‘const int’} [-Wsign-compare]
152 | totalLumpSize > gameLump.length
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
BSPParser/BSPParser.h:167:18: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int32_t’ {aka ‘const int’} [-Wsign-compare]
167 | totalLumpSize != gameLump.length // Use != here as we want to make sure we've read exactly the amount of data the lump was meant to have
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
BSPParser/BSPParser.h: In instantiation of ‘bool BSPMap::ParseStaticPropLump(const BSPStructs::GameLump&, const StaticProp**) [with StaticProp = BSPStructs::StaticPropV6]’:
BSPParser/BSPParser.cpp:78:62: required from here
BSPParser/BSPParser.h:123:38: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
123 | gameLump.offset + gameLump.length > mDataSize
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
BSPParser/BSPParser.h:127:21: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int32_t’ {aka ‘const int’} [-Wsign-compare]
127 | if (totalLumpSize > gameLump.length) return false; // Game lump size is corrupted
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
BSPParser/BSPParser.h:136:18: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int32_t’ {aka ‘const int’} [-Wsign-compare]
136 | totalLumpSize > gameLump.length
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
BSPParser/BSPParser.h:152:18: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int32_t’ {aka ‘const int’} [-Wsign-compare]
152 | totalLumpSize > gameLump.length
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
BSPParser/BSPParser.h:167:18: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int32_t’ {aka ‘const int’} [-Wsign-compare]
167 | totalLumpSize != gameLump.length // Use != here as we want to make sure we've read exactly the amount of data the lump was meant to have
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
In file included from BSPParser/BSPParser.cpp:4:
BSPParser/Displacements/Displacements.h: At global scope:
BSPParser/Displacements/Displacements.h:23:13: warning: ‘Displacements::g_EdgeDims’ defined but not used [-Wunused-variable]
23 | static int g_EdgeDims[4] =
| ^~~~~~~~~~
make[1]: *** [gmcl_gwater2.make:199: x86_64/Release/intermediate/gmcl_gwater2/BSPParser.o] Error 1
make: *** [Makefile:73: gmcl_gwater2] Error 2
It appears to be an error with BSPParser, which I belive was patched but for some reason isn't working.
This is due to a old commit having issues simply updating the repo should fix this.
Doing so by running:
rm -rf ./BSPParser
git clone --recursive https://github.com/Derpius/BSPParser.git
And rebuilding with the previous make command made this:
In file included from BSPParser/FileFormat/Structs.h:5,
from BSPParser/Displacements/Displacements.h:7,
from BSPParser/Displacements/Displacements.cpp:1:
BSPParser/FileFormat/Limits.h:7:12: error: ‘size_t’ does not name a type
7 | constexpr size_t MIN_MAP_DISP_POWER = 2;
| ^~~~~~
BSPParser/FileFormat/Limits.h:1:1: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
+++ |+#include <cstddef>
1 | #pragma once
BSPParser/FileFormat/Limits.h:8:12: error: ‘size_t’ does not name a type
8 | constexpr size_t MAX_MAP_DISP_POWER = 4;
| ^~~~~~
BSPParser/FileFormat/Limits.h:8:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:11:12: error: ‘size_t’ does not name a type
11 | constexpr size_t MAX_DISP_CORNER_NEIGHBORS = 4;
| ^~~~~~
BSPParser/FileFormat/Limits.h:11:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:16:12: error: ‘size_t’ does not name a type
16 | constexpr size_t MAX_MAP_MODELS = 1024;
| ^~~~~~
BSPParser/FileFormat/Limits.h:16:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:17:12: error: ‘size_t’ does not name a type
17 | constexpr size_t MAX_MAP_BRUSHES = 8192;
| ^~~~~~
BSPParser/FileFormat/Limits.h:17:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:18:12: error: ‘size_t’ does not name a type
18 | constexpr size_t MAX_MAP_ENTITIES = 8192;
| ^~~~~~
BSPParser/FileFormat/Limits.h:18:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:19:12: error: ‘size_t’ does not name a type
19 | constexpr size_t MAX_MAP_TEXINFO = 12288;
| ^~~~~~
BSPParser/FileFormat/Limits.h:19:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:20:12: error: ‘size_t’ does not name a type
20 | constexpr size_t MAX_MAP_TEXDATA = 2048;
| ^~~~~~
BSPParser/FileFormat/Limits.h:20:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:21:12: error: ‘size_t’ does not name a type
21 | constexpr size_t MAX_MAP_DISPINFO = 2048;
| ^~~~~~
BSPParser/FileFormat/Limits.h:21:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:22:12: error: ‘size_t’ does not name a type
22 | constexpr size_t MAX_MAP_DISP_VERTS = MAX_MAP_DISPINFO * ((1 << MAX_MAP_DISP_POWER) + 1) * ((1 << MAX_MAP_DISP_POWER) + 1);
| ^~~~~~
BSPParser/FileFormat/Limits.h:22:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
In file included from BSPParser/FileFormat/Structs.h:5,
from BSPParser/Displacements/Displacements.h:7,
from BSPParser/Displacements/Displacements.cpp:1:
BSPParser/FileFormat/Limits.h:23:12: error: ‘size_t’ does not name a type
23 | constexpr size_t MAX_MAP_DISP_TRIS = (1 << MAX_MAP_DISP_POWER) * (1 << MAX_MAP_DISP_POWER) * 2;
| ^~~~~~
BSPParser/FileFormat/Limits.h:23:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:24:12: error: ‘size_t’ does not name a type
24 | constexpr size_t MAX_DISPVERTS = NUM_DISP_POWER_VERTS(MAX_MAP_DISP_POWER);
| ^~~~~~
BSPParser/FileFormat/Limits.h:24:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:25:12: error: ‘size_t’ does not name a type
25 | constexpr size_t MAX_DISPTRIS = NUM_DISP_POWER_TRIS(MAX_MAP_DISP_POWER);
| ^~~~~~
BSPParser/FileFormat/Limits.h:25:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:26:12: error: ‘size_t’ does not name a type
26 | constexpr size_t MAX_MAP_AREAS = 256;
| ^~~~~~
BSPParser/FileFormat/Limits.h:26:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:27:12: error: ‘size_t’ does not name a type
27 | constexpr size_t MAX_MAP_AREA_BYTES = MAX_MAP_AREAS / 8;
| ^~~~~~
BSPParser/FileFormat/Limits.h:27:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:28:12: error: ‘size_t’ does not name a type
28 | constexpr size_t MAX_MAP_AREAPORTALS = 1024;
| ^~~~~~
BSPParser/FileFormat/Limits.h:28:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:29:12: error: ‘size_t’ does not name a type
29 | constexpr size_t MAX_MAP_PLANES = 65536;
| ^~~~~~
BSPParser/FileFormat/Limits.h:29:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:30:12: error: ‘size_t’ does not name a type
30 | constexpr size_t MAX_MAP_NODES = 65536;
| ^~~~~~
BSPParser/FileFormat/Limits.h:30:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:31:12: error: ‘size_t’ does not name a type
31 | constexpr size_t MAX_MAP_BRUSHSIDES = 65536;
| ^~~~~~
BSPParser/FileFormat/Limits.h:31:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:32:12: error: ‘size_t’ does not name a type
32 | constexpr size_t MAX_MAP_LEAFS = 65536;
| ^~~~~~
BSPParser/FileFormat/Limits.h:32:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:33:12: error: ‘size_t’ does not name a type
33 | constexpr size_t MAX_MAP_VERTS = 65536;
| ^~~~~~
BSPParser/FileFormat/Limits.h:33:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:34:12: error: ‘size_t’ does not name a type
34 | constexpr size_t MAX_MAP_VERTNORMALS = 256000;
| ^~~~~~
BSPParser/FileFormat/Limits.h:34:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:35:12: error: ‘size_t’ does not name a type
35 | constexpr size_t MAX_MAP_VERTNORMALINDICES = 256000;
| ^~~~~~
BSPParser/FileFormat/Limits.h:35:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:36:12: error: ‘size_t’ does not name a type
36 | constexpr size_t MAX_MAP_FACES = 65536;
| ^~~~~~
BSPParser/FileFormat/Limits.h:36:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:37:12: error: ‘size_t’ does not name a type
37 | constexpr size_t MAX_MAP_LEAFFACES = 65536;
| ^~~~~~
BSPParser/FileFormat/Limits.h:37:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:38:12: error: ‘size_t’ does not name a type
38 | constexpr size_t MAX_MAP_LEAFBRUSHES = 65536;
| ^~~~~~
BSPParser/FileFormat/Limits.h:38:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:39:12: error: ‘size_t’ does not name a type
39 | constexpr size_t MAX_MAP_PORTALS = 65536;
| ^~~~~~
BSPParser/FileFormat/Limits.h:39:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:40:12: error: ‘size_t’ does not name a type
40 | constexpr size_t MAX_MAP_CLUSTERS = 65536;
| ^~~~~~
BSPParser/FileFormat/Limits.h:40:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:41:12: error: ‘size_t’ does not name a type
41 | constexpr size_t MAX_MAP_LEAFWATERDATA = 32768;
| ^~~~~~
BSPParser/FileFormat/Limits.h:41:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:42:12: error: ‘size_t’ does not name a type
42 | constexpr size_t MAX_MAP_PORTALVERTS = 128000;
| ^~~~~~
BSPParser/FileFormat/Limits.h:42:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:43:12: error: ‘size_t’ does not name a type
43 | constexpr size_t MAX_MAP_EDGES = 256000;
| ^~~~~~
BSPParser/FileFormat/Limits.h:43:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:44:12: error: ‘size_t’ does not name a type
44 | constexpr size_t MAX_MAP_SURFEDGES = 512000;
| ^~~~~~
BSPParser/FileFormat/Limits.h:44:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:45:12: error: ‘size_t’ does not name a type
45 | constexpr size_t MAX_MAP_LIGHTING = 0x1000000;
| ^~~~~~
BSPParser/FileFormat/Limits.h:45:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:46:12: error: ‘size_t’ does not name a type
46 | constexpr size_t MAX_MAP_VISIBILITY = 0x1000000;
| ^~~~~~
BSPParser/FileFormat/Limits.h:46:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:47:12: error: ‘size_t’ does not name a type
47 | constexpr size_t MAX_MAP_TEXTURES = 1024;
| ^~~~~~
BSPParser/FileFormat/Limits.h:47:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:48:12: error: ‘size_t’ does not name a type
48 | constexpr size_t MAX_MAP_WORLDLIGHTS = 8192;
| ^~~~~~
BSPParser/FileFormat/Limits.h:48:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:49:12: error: ‘size_t’ does not name a type
49 | constexpr size_t MAX_MAP_CUBEMAPSAMPLES = 1024;
| ^~~~~~
BSPParser/FileFormat/Limits.h:49:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:50:12: error: ‘size_t’ does not name a type
50 | constexpr size_t MAX_MAP_OVERLAYS = 512;
| ^~~~~~
BSPParser/FileFormat/Limits.h:50:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:51:12: error: ‘size_t’ does not name a type
51 | constexpr size_t MAX_MAP_WATEROVERLAYS = 16384;
| ^~~~~~
BSPParser/FileFormat/Limits.h:51:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:52:12: error: ‘size_t’ does not name a type
52 | constexpr size_t MAX_MAP_TEXDATA_STRING_DATA = 256000;
| ^~~~~~
BSPParser/FileFormat/Limits.h:52:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:53:12: error: ‘size_t’ does not name a type
53 | constexpr size_t MAX_MAP_TEXDATA_STRING_TABLE = 65536;
| ^~~~~~
BSPParser/FileFormat/Limits.h:53:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:54:12: error: ‘size_t’ does not name a type
54 | constexpr size_t MAX_MAP_PRIMITIVES = 32768;
| ^~~~~~
BSPParser/FileFormat/Limits.h:54:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:55:12: error: ‘size_t’ does not name a type
55 | constexpr size_t MAX_MAP_PRIMVERTS = 65536;
| ^~~~~~
BSPParser/FileFormat/Limits.h:55:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
BSPParser/FileFormat/Limits.h:56:12: error: ‘size_t’ does not name a type
56 | constexpr size_t MAX_MAP_PRIMINDICES = 65536;
| ^~~~~~
BSPParser/FileFormat/Limits.h:56:12: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
In file included from BSPParser/Displacements/Displacements.h:7,
from BSPParser/Displacements/Displacements.cpp:1:
BSPParser/FileFormat/Structs.h:10:12: error: ‘size_t’ does not name a type
10 | constexpr size_t HEADER_LUMPS = 64;
| ^~~~~~
BSPParser/FileFormat/Structs.h:7:1: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
6 | #include "Enums.h"
+++ |+#include <cstddef>
7 |
BSPParser/FileFormat/Structs.h:102:14: error: ‘HEADER_LUMPS’ was not declared in this scope
102 | Lump lumps[HEADER_LUMPS]; // Lump directory
| ^~~~~~~~~~~~
BSPParser/FileFormat/Structs.h:205:23: error: ‘MAX_DISP_CORNER_NEIGHBORS’ was not declared in this scope
205 | uint16_t neighbours[MAX_DISP_CORNER_NEIGHBORS];
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from BSPParser/Displacements/Displacements.cpp:1:
BSPParser/Displacements/Displacements.h:23:13: warning: ‘Displacements::g_EdgeDims’ defined but not used [-Wunused-variable]
23 | static int g_EdgeDims[4] =
| ^~~~~~~~~~
make[1]: *** [gmcl_gwater2.make:202: x86_64/Release/intermediate/gmcl_gwater2/Displacements.o] Error 1
make: *** [Makefile:73: gmcl_gwater2] Error 2
After adding the line mentioned in the error to Limits.h we are now at the original issue:
In file included from garrysmod_common/sourcesdk-minimal/public/materialsystem/IShader.h:35,
from garrysmod_common/sourcesdk-minimal/public/shaderlib/BaseShader.h:16,
from src/BaseShader.cpp:7:
garrysmod_common/sourcesdk-minimal/public/materialsystem/imaterialsystem.h:26:10: fatal error: appframework/IAppSystem.h: No such file or directory
26 | #include "appframework/IAppSystem.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [gmcl_gwater2.make:229: x86_64/Release/intermediate/gmcl_gwater2/BaseShader.o] Error 1
make: *** [Makefile:73: gmcl_gwater2] Error 2
It seems that right now this has to do with how gcc / linux handles caps when it comes to includes, but there is a version of garrys mod common that fixed this supposedly, but it doesn't seem like this branch support 64 bit which is requried.
The closest issue I could find with similar error was this one: Issue
So I am going to see if maybe the other branch on garrysmod_common does support 64 bit