Linux 64-bit binary and build issues
Posted: Fri Dec 31, 2021 6:14 am
A few observations based on dmweb and http://dianneandpaul.net/CSBwin/Games/. Dungeon Master for Linux x86-64 SDL2 2018-05-08 was packaged as tarball (worked fine). The latest CSB is dated 2018-04-21 and is published only as a binary file. You can use it by taking the x86-32 tarball from 2015-12-12. But I wonder if there was any special reason why the latest CSB 64-bit version has never been published as tarball?
The 'Utility' in the aforementioned binary (for importing CSBwin DM characters to CSB) didn't work: it crashed with message:
SBwin 15.7v0
SDL initialized.
Timer: 10 ms established...
Message:
Flags = 00000001
Title = (null)
Message = You have encountered code at
relative address 0x007e42 that I
thought was unused. I guess I
was wrong. Please let me know
about it and the circumstances in
which it happened.
I also grabbed the latest(?) published source code (CSBwin_SRC_20190702.7z) and compiled it. The utility works, but the game itself crashes with segfault when I click 'Prison' or 'Resume'. Gdb backtrace suggests that this occurs somewhere in the UI (also the quick playback works):
(gdb) bt
#0 0x0000000000443079 in UI_ProcessOption(char**, int&) ()
#1 0x00007fffffffde30 in ?? ()
#2 0x000000000047bba2 in SOUNDER::Sound(char*, int) ()
#3 0x000000000047bc04 in StartSound(unsigned char*, int, int) ()
#4 0x00000000004354aa in _TAG01f746() ()
#5 0x00000000004372db in DispatchCSB(CSB_UI_MESSAGE*) ()
#6 0x000000000044a31b in CSBUI(CSB_UI_MESSAGE*) ()
#7 0x0000000000443dd4 in Process_ecode_IDC_Timer() ()
#8 0x00000000004447ef in Process_SDL_USEREVENT() ()
#9 0x00000000004451b8 in main ()
Running 32bit version on 64bit OS was a bit messy (had to install a few libraries), and that crashed at some point in the beginning as well.
I wonder if there is a newer CSB packaging for linux 64-bit than the ones from 2015/2019 or more recent source? I wonder if the backtrace provides sufficient information to figuring out what's wrong in 20190702?
After converting the characters with the self-compiled binary I can now successfully play with the 2018-04-21 published binary. But I suppose going forward it would be nice to have this sorted out.
The 'Utility' in the aforementioned binary (for importing CSBwin DM characters to CSB) didn't work: it crashed with message:
SBwin 15.7v0
SDL initialized.
Timer: 10 ms established...
Message:
Flags = 00000001
Title = (null)
Message = You have encountered code at
relative address 0x007e42 that I
thought was unused. I guess I
was wrong. Please let me know
about it and the circumstances in
which it happened.
I also grabbed the latest(?) published source code (CSBwin_SRC_20190702.7z) and compiled it. The utility works, but the game itself crashes with segfault when I click 'Prison' or 'Resume'. Gdb backtrace suggests that this occurs somewhere in the UI (also the quick playback works):
(gdb) bt
#0 0x0000000000443079 in UI_ProcessOption(char**, int&) ()
#1 0x00007fffffffde30 in ?? ()
#2 0x000000000047bba2 in SOUNDER::Sound(char*, int) ()
#3 0x000000000047bc04 in StartSound(unsigned char*, int, int) ()
#4 0x00000000004354aa in _TAG01f746() ()
#5 0x00000000004372db in DispatchCSB(CSB_UI_MESSAGE*) ()
#6 0x000000000044a31b in CSBUI(CSB_UI_MESSAGE*) ()
#7 0x0000000000443dd4 in Process_ecode_IDC_Timer() ()
#8 0x00000000004447ef in Process_SDL_USEREVENT() ()
#9 0x00000000004451b8 in main ()
Running 32bit version on 64bit OS was a bit messy (had to install a few libraries), and that crashed at some point in the beginning as well.
I wonder if there is a newer CSB packaging for linux 64-bit than the ones from 2015/2019 or more recent source? I wonder if the backtrace provides sufficient information to figuring out what's wrong in 20190702?
After converting the characters with the self-compiled binary I can now successfully play with the 2018-04-21 published binary. But I suppose going forward it would be nice to have this sorted out.