SapphireServer / Sapphire

A Final Fantasy XIV 4.0+ Server Emulator written in C++
GNU Affero General Public License v3.0
686 stars 214 forks source link

Build preparser error #968

Open designly1 opened 1 month ago

designly1 commented 1 month ago

Followed all the build instructions from the website. I'm running Ubuntu 24.04.1 LTS on Hyper-V on Windows 11 Pro. I ran apt -y dist-upgrade and installed the standard build environment. I get this preparser error:

jay@sapphire:~/sapphire/build$ make
[  0%] Built target copy_runtime_files
[  2%] Built target xivdat
[  4%] Built target xivdatps3
[  5%] Built target mysqlConnector
[  6%] Built target Recast
[  7%] Built target Detour
[  7%] Built target DetourTileCache
[  7%] Built target DebugUtils
[  8%] Built target DetourCrowd
[  8%] Building CXX object src/common/CMakeFiles/common.dir/Network/PacketContainer.cpp.o
In file included from /home/jay/sapphire/src/common/Network/PacketContainer.h:5,
                 from /home/jay/sapphire/src/common/Network/PacketContainer.cpp:1:
/home/jay/sapphire/src/common/Common.h:1173:17: error: ‘#pragma’ is not allowed here
 1173 |         #pragma region Synth 1 -50 Recipes
      |                 ^~~~~~
/home/jay/sapphire/src/common/Common.h:1174:9: error: expected ‘}’ before ‘SynthWoodworkingLv01to10Recipes’
 1174 |         SynthWoodworkingLv01to10Recipes = 23,
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jay/sapphire/src/common/Common.h:1160:7: note: to match this ‘{’
 1160 |       {
      |       ^
/home/jay/sapphire/src/common/Common.h:1174:43: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1174 |         SynthWoodworkingLv01to10Recipes = 23,
      |                                           ^~
      |                                           |
      |                                           int
/home/jay/sapphire/src/common/Common.h:1175:43: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1175 |         SynthWoodworkingLv11to20Recipes = 24,
      |                                           ^~
      |                                           |
      |                                           int
/home/jay/sapphire/src/common/Common.h:1176:43: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1176 |         SynthWoodworkingLv21to30Recipes = 25,
      |                                           ^~
      |                                           |
      |                                           int
/home/jay/sapphire/src/common/Common.h:1177:43: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1177 |         SynthWoodworkingLv31to40Recipes = 26,
      |                                           ^~
      |                                           |
      |                                           int
/home/jay/sapphire/src/common/Common.h:1178:43: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1178 |         SynthWoodworkingLv41to50Recipes = 27,
      |                                           ^~
      |                                           |
      |                                           int
/home/jay/sapphire/src/common/Common.h:1179:40: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1179 |         SynthSmithingLv01to10Recipes = 28,
      |                                        ^~
      |                                        |
      |                                        int
/home/jay/sapphire/src/common/Common.h:1180:40: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1180 |         SynthSmithingLv11to20Recipes = 29,
      |                                        ^~
      |                                        |
      |                                        int
/home/jay/sapphire/src/common/Common.h:1181:40: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1181 |         SynthSmithingLv21to30Recipes = 30,
      |                                        ^~
      |                                        |
      |                                        int
/home/jay/sapphire/src/common/Common.h:1182:40: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1182 |         SynthSmithingLv31to40Recipes = 31,
      |                                        ^~
      |                                        |
      |                                        int
/home/jay/sapphire/src/common/Common.h:1183:40: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1183 |         SynthSmithingLv41to50Recipes = 32,
      |                                        ^~
      |                                        |
      |                                        int
/home/jay/sapphire/src/common/Common.h:1184:42: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1184 |         SynthArmorcraftLv01to10Recipes = 33,
      |                                          ^~
      |                                          |
      |                                          int
/home/jay/sapphire/src/common/Common.h:1185:42: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1185 |         SynthArmorcraftLv11to20Recipes = 34,
      |                                          ^~
      |                                          |
      |                                          int
/home/jay/sapphire/src/common/Common.h:1186:42: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1186 |         SynthArmorcraftLv21to30Recipes = 35,
      |                                          ^~
      |                                          |
      |                                          int
/home/jay/sapphire/src/common/Common.h:1187:42: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1187 |         SynthArmorcraftLv31to40Recipes = 36,
      |                                          ^~
      |                                          |
      |                                          int
/home/jay/sapphire/src/common/Common.h:1188:42: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1188 |         SynthArmorcraftLv41to50Recipes = 37,
      |                                          ^~
      |                                          |
      |                                          int
/home/jay/sapphire/src/common/Common.h:1189:44: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1189 |         SynthGoldsmithingLv01to10Recipes = 38,
      |                                            ^~
      |                                            |
      |                                            int
/home/jay/sapphire/src/common/Common.h:1190:44: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1190 |         SynthGoldsmithingLv11to20Recipes = 39,
      |                                            ^~
      |                                            |
      |                                            int
/home/jay/sapphire/src/common/Common.h:1191:44: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1191 |         SynthGoldsmithingLv21to30Recipes = 40,
      |                                            ^~
      |                                            |
      |                                            int
/home/jay/sapphire/src/common/Common.h:1192:44: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1192 |         SynthGoldsmithingLv31to40Recipes = 41,
      |                                            ^~
      |                                            |
      |                                            int
/home/jay/sapphire/src/common/Common.h:1193:44: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1193 |         SynthGoldsmithingLv41to50Recipes = 42,
      |                                            ^~
      |                                            |
      |                                            int
/home/jay/sapphire/src/common/Common.h:1194:46: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1194 |         SynthLeatherworkingLv01to10Recipes = 43,
      |                                              ^~
      |                                              |
      |                                              int
/home/jay/sapphire/src/common/Common.h:1195:46: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1195 |         SynthLeatherworkingLv11to20Recipes = 44,
      |                                              ^~
      |                                              |
      |                                              int
/home/jay/sapphire/src/common/Common.h:1196:46: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1196 |         SynthLeatherworkingLv21to30Recipes = 45,
      |                                              ^~
      |                                              |
      |                                              int
/home/jay/sapphire/src/common/Common.h:1197:46: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1197 |         SynthLeatherworkingLv31to40Recipes = 46,
      |                                              ^~
      |                                              |
      |                                              int
/home/jay/sapphire/src/common/Common.h:1198:46: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1198 |         SynthLeatherworkingLv41to50Recipes = 47,
      |                                              ^~
      |                                              |
      |                                              int
/home/jay/sapphire/src/common/Common.h:1199:42: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1199 |         SynthClothcraftLv01to10Recipes = 48,
      |                                          ^~
      |                                          |
      |                                          int
/home/jay/sapphire/src/common/Common.h:1200:42: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1200 |         SynthClothcraftLv11to20Recipes = 49,
      |                                          ^~
      |                                          |
      |                                          int
/home/jay/sapphire/src/common/Common.h:1201:42: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1201 |         SynthClothcraftLv21to30Recipes = 50,
      |                                          ^~
      |                                          |
      |                                          int
/home/jay/sapphire/src/common/Common.h:1202:42: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1202 |         SynthClothcraftLv31to40Recipes = 51,
      |                                          ^~
      |                                          |
      |                                          int
/home/jay/sapphire/src/common/Common.h:1203:42: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1203 |         SynthClothcraftLv41to50Recipes = 52,
      |                                          ^~
      |                                          |
      |                                          int
/home/jay/sapphire/src/common/Common.h:1204:39: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1204 |         SynthAlchemyLv01to10Recipes = 53,
      |                                       ^~
      |                                       |
      |                                       int
/home/jay/sapphire/src/common/Common.h:1205:39: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1205 |         SynthAlchemyLv11to20Recipes = 54,
      |                                       ^~
      |                                       |
      |                                       int
/home/jay/sapphire/src/common/Common.h:1206:39: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1206 |         SynthAlchemyLv21to30Recipes = 55,
      |                                       ^~
      |                                       |
      |                                       int
/home/jay/sapphire/src/common/Common.h:1207:39: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1207 |         SynthAlchemyLv31to40Recipes = 56,
      |                                       ^~
      |                                       |
      |                                       int
/home/jay/sapphire/src/common/Common.h:1208:39: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1208 |         SynthAlchemyLv41to50Recipes = 57,
      |                                       ^~
      |                                       |
      |                                       int
/home/jay/sapphire/src/common/Common.h:1209:39: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1209 |         SynthCookingLv01to10Recipes = 58,
      |                                       ^~
      |                                       |
      |                                       int
/home/jay/sapphire/src/common/Common.h:1210:39: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1210 |         SynthCookingLv11to20Recipes = 59,
      |                                       ^~
      |                                       |
      |                                       int
/home/jay/sapphire/src/common/Common.h:1211:39: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1211 |         SynthCookingLv21to30Recipes = 60,
      |                                       ^~
      |                                       |
      |                                       int
/home/jay/sapphire/src/common/Common.h:1212:39: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1212 |         SynthCookingLv31to40Recipes = 61,
      |                                       ^~
      |                                       |
      |                                       int
/home/jay/sapphire/src/common/Common.h:1213:39: error: invalid conversion from ‘int’ to ‘Sapphire::Common::Achievement::GeneralSubtype::AchievementGeneralSubtype’ [-fpermissive]
 1213 |         SynthCookingLv41to50Recipes = 62,
      |                                       ^~
      |                                       |
      |                                       int
/home/jay/sapphire/src/common/Common.h:1214:17: error: ‘#pragma’ is not allowed here
 1214 |         #pragma endregion
      |                 ^~~~~~~~~
/home/jay/sapphire/src/common/Common.h:1946:1: error: expected declaration before ‘}’ token
 1946 | }
      | ^
make[2]: *** [src/common/CMakeFiles/common.dir/build.make:328: src/common/CMakeFiles/common.dir/Network/PacketContainer.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:773: src/common/CMakeFiles/common.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
pinapelz commented 1 month ago

Bit of a shot in the dark but have you tried:

cmake .. -DCMAKE_CXX_COMPILER=/usr/bin/clang++
icebalm commented 2 weeks ago

I had the same issue, I looked in the code and the comment said that everything in the offending #pragma block was legacy and was supposed to be skipped, so I just commented them all out and it built fine after that.