fix XSTools
Symptoms
Typically, when perl, or system libraries that Openkore depends are are upgraded, or changed to another version by a user or administrator, the XSTools library can break. This sort of problem will only occur on unix-based Openkore installations (Unix/BSD/Linux/OSX).
Example message:
~/path/to/openkore$ perl ./openkore.pl /usr/bin/perl: symbol lookup error: /path/to/openkore/src/auto/XSTools.so: undefined symbol Perl_Gther_key_ptr
The Fix
To fix this issue, the XSTools library needs to be recompiled.
Just to be safe, rename the actual library and the "XSTools.so" symbolic link:
$ cd /path/to/openkore /path/to/openkore$ cd src/auto/XSTools
Check that the files "XSTools.so" and libXSTools.so that it links to are present in the directory.
/path/to/openkore/src/auto/XSTools$ ls -la ... lrwxrwxrwx 1 user user 13 Feb 2 20:44 XSTools.so -> libXSTools.so -rwxr-xr-x 1 user user 379777 Feb 2 20:44 libXSTools.so ...
Rename both the symbolic link, and the actual library file. Yes, this might not be necessary, but let's be cautious and allow a way to undo this fix if it doesn't fix the problem you're having.
/path/to/openkore/src/auto/XSTools$ mv XSTools.so XSTools.so.bak /path/to/openkore/src/auto/XSTools$ mv libXSTools.so libXSTools.so.bak
There! Now that the files are 'missing', the next time you invoke openkore.pl, the missing library will be recompiled and linked against the your updated libraries.
/path/to/openkore/src/auto/XSTools$ cd ../../.. /path/to/openkore$ perl ./openkore.pl
After this point, Openkore recompiles the missing libraries that you renamed, and should load as normal after that.