ptitSeb / Serious-Engine

A port to the OpenPandora (and working fine on plain Linux) of the open source version of a game engine developed by Croteam for the classic Serious Sam games. Status: Working (for both FE and SE).
https://pyra-handheld.com/boards/threads/serious-sam-first-encounter.77225/
GNU General Public License v2.0
75 stars 23 forks source link

Compile errors on Fedora 34 Workstation #34

Open IAMSolaara opened 3 years ago

IAMSolaara commented 3 years ago

Hi, I tried compiling this on my computer running Fedora 34 and after installing g++, cmake and SDL2-devel. Most errors were regarding the ULONG and SLONG types, so I tried doing a massive sed replace of ULONG with unsigned long and of SLONG with long on all .c, .h, .cpp, .y and .es files in Sources.

This now triggers syntax errors for some .es files tho spitting out errors again.

It's weird how I haven't seen a single issue regarding ULONG on Linux. Am I missing perhaps some libraries?

IAMSolaara commented 3 years ago

I'm uploading logs soon

IAMSolaara commented 3 years ago

This is what I get when compiling using the master branch from the ptitSeb/Serious-Engine repo. stockrepo.txt

While this is what I get after doing that mass sed replace replacedALL.txt

ptitSeb commented 3 years ago

I don't think it's a good idea so use sed here.

The error seems to be a conflct between 64bits and 32bits headers. Which one are you building? 32 or 64bits?

IAMSolaara commented 3 years ago

I don't think it's a good idea so use sed here.

The error seems to be a conflct between 64bits and 32bits headers. Which one are you building? 32 or 64bits?

64bit

IAMSolaara commented 3 years ago

bruh apparently it didn't redirect stderr to the file...

IAMSolaara commented 3 years ago

Ok reuploaded stockrepo.txt with everything, double checked this time. stockrepo.txt

IAMSolaara commented 3 years ago

And here's the right replacedALL.txt though I don't think it'll be of much help now... replacedALL.txt

ptitSeb commented 3 years ago

bruh apparently it didn't redirect stderr to the file...

Use make > log.txt 2>&1 to redirect both stdout and stderr to a file.

ptitSeb commented 3 years ago

Problem is this file /usr/lib/gcc/x86_64-redhat-linux/11/include/ia32intrin.h get included by some other header. And it's wrong because it's a 32bits one. I don't see what include it in the logs you sent

IAMSolaara commented 3 years ago

let me see any mentions in /usr/lib of that file

IAMSolaara commented 3 years ago

ok so that ia32intrin.h file is included by x86gprintrin.h, which is mentioned at 23% when building CMakeFiles/Shaders.dir/Shaders/AddShaderDS.cpp.o.

IAMSolaara commented 3 years ago

let me see which packages owns that file. EDIT: it's owned by gcc-11.1.1-1.fc34.x86_64...

IAMSolaara commented 3 years ago

I'm gonna try to compile this on a clean VM and another machine, all with Fedora 34.

IAMSolaara commented 3 years ago

OK, both the other machine and VM stopped at the same spot as before and seem to give the same errors...

VM Log: f34VM.txt Other machine log: f34om.txt

EDIT: They seem to be out of order after looking at them using MELD but tbh the VM did have many more jobs (16 instead of 4) so that could be the issue EDIT2: Will have them on the same folder (only have to recompile VM) to have less disorder due to that.

ptitSeb commented 3 years ago

And how are you building? using the build64.sh script or something else?

IAMSolaara commented 3 years ago

tried both using build-linux64.sh and by doing mkdir build; cd build; cmake .. -DCMAKE_BUILD_TYPE=Debug;make -j4 > log.txt 2>&1 and got the same results on all 3 machines. (also tried doing 1 by 1 the same steps as in the script, including using RelWithDebInfo instead of Debug, same outcome)

IAMSolaara commented 3 years ago

I got it to compile just fine on my Arch machine, dunno what to say tbh...

IAMSolaara commented 3 years ago

Also, on a second note, even tho I compiled with -DTFE=TRUE it asks for libEntitiesMP.so which I only get when not having that flag, I only get the one without MP in the name

sdsddsd1 commented 3 years ago

I had issues building with gcc11 too, but clang build just fine. https://github.com/ptitSeb/Serious-Engine/issues/36