I think I have the same issue as the OP, however not on SuSE, but on Gentoo.
System specs:
AMD Ryzen 2700 CPU
32GB RAM
AMD RX470 Graphics Card
Kernel: 4.18.4
Mesa: 18.2.8
OpenGL: 4.5
I also had the issue of libSDL2.so not being loaded, but I can bypass that by replacing the library shipped with the game with a symlink to the system library.
However, with an dwithout the swapped library, the game freezes at start. A modified start.sh the runs the Battletech executable inside gdb gives me the following error:
Thread 24 "BattleTech" received signal SIGPWR, Power fail/restart.
[Switching to Thread 0x7fffb5ffb700 (LWP 29791)]
0x00007ffff79c37ae in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, futex_word=0x7fffb57990f0)
at ../sysdeps/unix/sysv/linux/futex-internal.h:205
205 ../sysdeps/unix/sysv/linux/futex-internal.h: No such file or directory.
A backtrace yields the following:
#0 0x00007ffff79c37ae in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, futex_word=0x7fffa17990f0)
at ../sysdeps/unix/sysv/linux/futex-internal.h:205
__ret = -512
oldtype = 0
err = <optimized out>
#1 do_futex_wait (sem=sem@entry=0x7fffa17990f0, abstime=0x0) at sem_waitcommon.c:111
No locals.
#2 0x00007ffff79c3884 in __new_sem_wait_slow (sem=0x7fffa17990f0, abstime=0x0) at sem_waitcommon.c:181
_buffer = {__routine = 0x7ffff79c3728 <__sem_wait_cleanup>, __arg = 0x7fffa17990f0, __canceltype = 0,
__prev = 0x0}
err = <optimized out>
d = 0
#3 0x00007fffa1478faf in mono_sem_wait () from /datenhalde/Spiele/BT/game/BattleTech_Data/Mono/x86_64/libmono.so
No symbol table info available.
#4 0x00007fffa13e32d8 in ?? () from /datenhalde/Spiele/BT/game/BattleTech_Data/Mono/x86_64/libmono.so
No symbol table info available.
#5 0x00007fffa144b313 in ?? () from /datenhalde/Spiele/BT/game/BattleTech_Data/Mono/x86_64/libmono.so
No symbol table info available.
#6 0x00007fffa1470ec7 in ?? () from /datenhalde/Spiele/BT/game/BattleTech_Data/Mono/x86_64/libmono.so
No symbol table info available.
#7 0x00007fffa14919d8 in ?? () from /datenhalde/Spiele/BT/game/BattleTech_Data/Mono/x86_64/libmono.so
No symbol table info available.
#8 0x00007ffff79b995a in start_thread (arg=0x7fffa1ffb700) at pthread_create.c:463
pd = 0x7fffa1ffb700
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140735911278336, 433652790182145667, 140737488338718,
140737488338719, 140735902887936, 140735911278336, -433498861249892733, -433669524656623997},
mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
canceltype = 0}}}
not_first_call = <optimized out>
#9 0x00007ffff6b3fe8f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Now, for the interesting part, I found a seemingly similar thread on the paradox forum:
(The forum doesn't let me post links, you can easily find the discussion by just searching for "battletech futex-internal.h")
There the solution was some kind of update, but even there it is not clear what actually fixed it.
My question to the GOG team:
Since you roll your own installer and according tot the paradox forum thread this may be caused by some installation corruption, could it be that the file futex-internal.h that apparently cannot be found is not included in your installer?
I cannot find the file anywhere on my system, but according to the paradox forum it got fixed regardless.
The backtrace makes me suspect that mono might be supposed to provide the file?
SOrry for the wall of text, but I wanted to give as much information up front as possible. If you have other questions/ideas, go ahead.