Différences
Ci-dessous, les différences entre deux révisions de la page.
| |
lokigames:sin [2023/12/05 15:10] – créée - modification externe 127.0.0.1 | lokigames:sin [2024/04/22 17:53] (Version actuelle) – twolife |
---|
</code> | </code> |
| |
===== Launch the game ===== | ===== Prevent a game crash ===== |
This is due to a C++ ABI incompatibility that broke binaries compiled with g++ 2.95. We can't use a modern libstdc++ library, we need to use a //very// old one. | This is due to a change in ''libgcc'' that broke some binaries that where compiled with gcc 2.95 in an unusual way (like compiling C++ code with ''gcc'' instead of ''g++''). |
| |
You can find the required ''libstdc++-3-libc6.2-2-2.10.0.so'' at [[https://www.improbability.net/loki/loki_compat_libs-1.5.tar.bz2|https://www.improbability.net/loki/]] | ==== Option a ==== |
| You can use a little [[https://github.com/twolife/lokishim|shim]] that add back functions required by a bunch of old games like this one. |
| |
And now you can start the game: | <code>LD_PRELOAD="/path/to/lokishim.so" ./sin.exe +set vid_ref gl +set gl_driver_lib /usr/lib/i386-linux-gnu/libGL.so.1</code> |
<code> | |
LD_PRELOAD="./libstdc++-3-libc6.2-2-2.10.0.so" ./sin.exe +set vid_ref gl +set gl_driver_lib /usr/lib/i386-linux-gnu/libGL.so.1 | ==== Option b ==== |
</code> | The missing function can be found in a //very// old ''libstdc++'', and you can use ''libstdc++-3-libc6.2-2-2.10.0.so'' from [[https://www.improbability.net/loki/loki_compat_libs-1.5.tar.bz2|https://www.improbability.net/loki/]] |
| |
| <code>LD_PRELOAD="./libstdc++-3-libc6.2-2-2.10.0.so" ./sin.exe +set vid_ref gl +set gl_driver_lib /usr/lib/i386-linux-gnu/libGL.so.1</code> |
| |