fix XSTools

From OpenKore Wiki
Revision as of 01:20, 3 June 2012 by ChrstphrR (talk | contribs) (Whoops, removed code tags that do nothing but misformat the example of the problem this page sets out to solve...)
Jump to navigation Jump to search

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.