Closed SomeTroglodyte closed 3 months ago
Linux Mint 22 seems to come with GCC 13 which, as far as I know, can still build Endless Sky. What are you using to build the game?
Ubuntu 22.04 - compiles fine on my system
Have you tried doing a clean build? cmake --build build --target clean
should clear the build directory. CMake sometimes gets confused when compiler options change, and doesn't recompile everything by itself.
What are you using to build the game
Abusing Android Studio as pure git GUI, git pull from es-master into my local master clone, then cmake --build --preset linux-debug
(or -release) from terminal
cmake --build build --target clean
"Error: could not load cache"
... cmake --build --preset linux-debug --clean-first
is more like it, but throws all the "has no member named ‘contains’" errors just like without cleaning
Linux Mint 22 seems to come with GCC 13 which, as far as I know, can still build Endless Sky.
gcc --version gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0
That's the point, that compat went down the drain with the two "gcc20" PR's
For the record, to build current master this is the absolute minimum revert:
... 99% identical to a 'git revert' of 10362, but done error by error to make sure no compatible change is toasted.
And also - not urgent in any way, it's unplayable anyway, but more due to my own private factors. Compared to a few weeks back on Mint 21.3, now on Mint 22 with the newer oibaf mesa drivers it's sluggish as hell, though seemingly not through reduced fps (built-in load doesn't go over 40% cpu / 50% gpu - isn't there an actual fps display too?)... Needs experimenting - revert the nightly mesa stuff first. But there's other distracting foss projects...
Also for the record - I get it, the lack of contains
is absolutely disgusting, embarrassing for the old gcc, medieval even. We Mint'ers frequently suffer from such "stone-age regressions" - took ages to get a useable gimp, darktable is way behind, even nemo is unstable.... We're used to it, in exchange for some "LTS" peace of mind. Just so you know, some distros aren't yet ready to leave the dark ages...
Also for the record, the best I can get to in a semi-clean fashion is gcc14, which doesn't build ES either:
sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa -y
sudo apt update
sudo apt install gcc-14 g++-14 -y
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 200 --slave /usr/bin/g++ g++ /usr/bin/g++-14 --slave /usr/bin/gcov gcov /usr/bin/gcov-13
gcc --version
gcc (Ubuntu 14.2.0-1ubuntu1~24.04) 14.2.0
I set up a VM and installed Linux Mint 22, ran:
sudo apt install git cmake ninja-build curl libsdl2-dev libpng-dev libjpeg-dev libgl1-mesa-dev libglew-dev libopenal-dev libmad0-dev uuid-dev catch2
git clone https://github.com/endless-sky/endless-sky
cd endless-sky
cmake --preset linux
cmake --build --preset linux-debug
And it built. It already had gcc 13.2.0 installed.
It seems to me like your cmake configuration hasn't been updated and it's still trying to build with an older version of C++.
Have you tried deleting the build
directory and running cmake --preset linux
before building?
Oh I get it - no "Keep it Simple", language level and compiler version have no correlation. Duh.
So, the issue is, regenerating the preset didn't clean up... running cmake --preset linux before building
I DID think of, but not re-cloning. OK, manually deleting 'build' does it too. Oh my, sorry for bothering.
Location
General
Describe the issue
Up until two weeks ago, ES was buildable on the most recent Linux Mint 22 "Wilma". Thanks to #10362 this is no longer the case. With Mint 22 being a month old, Mint users will be excluded for the next 23 months.
Expected content
Clarify that distributions emphasizing long term support are undesirables.
https://github.com/endless-sky/endless-sky/blob/master/docs/readme-cmake.md#linux states a minimum of Ubuntu 22.04, however, by now, 24.04 "noble" is NOT ENOUGH.