I have attempted to build a release based on commit 1f93586a07c19d4629aba9bad95ffa12e7110fbe. I used the following command to generate makefiles:
cmake -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_PACKAGE=OFF .
I got a segfault when attempting to play a battlescape from the main menu, for the purposes of testing.
[25-03-2023_14-22-52] [FATAL] A fatal error has occurred: Segmentation fault.
[25-03-2023_14-22-52] [FATAL] openxcom(OpenXcom::CrossPlatform::stackTrace(void*)+0x26) [0x55e22ddf4776]
[25-03-2023_14-22-52] [FATAL] openxcom(OpenXcom::CrossPlatform::crashDump(void*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x3f8) [0x55e22ddf5138]
[25-03-2023_14-22-52] [FATAL] openxcom(signalLogger(int)+0x31) [0x55e22dbd1a51]
[25-03-2023_14-22-52] [FATAL] /lib/x86_64-linux-gnu/libc.so.6(+0x3bf90) [0x7f974429af90]
[25-03-2023_14-22-52] [FATAL] openxcom(OpenXcom::Map::drawTerrain(OpenXcom::Surface*)+0xf63) [0x55e22dd949f3]
[25-03-2023_14-22-52] [FATAL] openxcom(OpenXcom::BattlescapeState::init()+0xc8) [0x55e22dd44128]
[25-03-2023_14-22-52] [FATAL] openxcom(OpenXcom::Game::run()+0xc0) [0x55e22de1bef0]
[25-03-2023_14-22-52] [FATAL] openxcom(main+0x140) [0x55e22dba0990]
[25-03-2023_14-22-52] [FATAL] /lib/x86_64-linux-gnu/libc.so.6(+0x2718a) [0x7f974428618a]
[25-03-2023_14-22-52] [FATAL] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x85) [0x7f9744286245]
[25-03-2023_14-22-52] [FATAL] openxcom(_start+0x21) [0x55e22dba6ff1]
[25-03-2023_14-22-56] [FATAL] OpenXcom has crashed: Segmentation fault.
As for the data, I copied over the "standard" and "common" directories into my ".local/share/openxcom" from the release under bin/ (logs indicate this directory is used, so ok). I copied over TFTD and UFO data from a previously working openxcom release, under the same .local/share subdirs. So, no issues are expected with data.
As you could see, the segfault message is not entirely helpful. I do not feel like tracing a C++ code with gdb at this moment. I could contribute some code in a safe language (rust, any functional stuff, etc.), but that is a much larger undertaking anyway, and this needs to be done collaboratively anyway.
A question is, what release should I in general be building? Which ones should I expect to work? The tag "v1.0" dates from 2014, which is a tad too old.
Should I use a master branch, perhaps? Why? Could you please suggest which recent branch or commit I could use and expect a reasonable outcome?
UPDATE The master branch at release 6b96200e1abfdea1d0215cd5cefeae7b51f2b99f seems to work. I'll test further, and see if the full XCF runs fine with it or not.