This guide will explain the intricacies on how to run Chronicler mod (or any other mod that depends on SQLite) on Linux.
The main difficulty of running it under Linux, stems from the fact that any SQLite project depends on the shared object, which has to be compiled per system and environment it is being run under.
There are currently two ways to run such mods under Linux:
- Using prepared Docker Image of Eco Server.
- Compiling needed dependencies on your own system.
Using Docker Image
This is by far the easiest way to get SQLite dependent mods to run under Linux.
All you need is my docker image that has the dependencies already embedded within itself.
It can be found here: https://hub.docker.com/r/nidaren/eco-server
The information is provided in the documentation under the link, in the Readme section.
IMPORTANT: SQLite.Interop.dll from Mods/Chronicler folder will be automatically deleted, as this library is NOT compatible with Linux!
Compiling the dependencies
This is more involved method, for when you do not want to use Docker.
Firstly, ensure you have root access to your system.
The next steps may differ from mod to mod, but in case of Chronicler, the steps are as follows:
- Download the following SQLite source code package: sqlite-netFx-full-source-126.96.36.199.zip
- Extract it to , for example sqlbuild folder.
- Change directory to sqlbuild/Setup
- Execute script compile-interop-assembly-release.sh
- File will be compiled to sqlbuild/bin/2013/Release/bin/
- Copy the file libSQLite.Interop.so (make sure file starts with lib not SQL) from sqlbuild/bin/2013/Release/bin/ to /usr/lib
- After that Chronicler will have all it needs to run on Linux.
- This dependency must be compiled per system.
IMPORTANT: DELETE file SQLite.Interop.dll from /Mods/Chronicler. This file is not compatible with Linux and is not required once the Linux dependency is present.