XSB is a dialect of Prolog with tabled resolution and HiLog.
This repository is forked from the project sources at SourceForge:
- Source repository: https://sourceforge.net/projects/xsb/
- Project page: http://xsb.sourceforge.net/
The path to one of two files generated by compiling this project will be needed for a functional interfacing with Java through Interprolog. Indications are mentioned in the last step of the compilation section.
There is no extensive, easily reachable list of all the needed dependencies to build XSB. Since I had all the needed dependencies already installed on my system, I won't make a list of them right away. Even though configure makes a good job giving away the important dependencies, this item is still on my TODO list.
-
Run this command inside XSB/build:
./configure --enable-mt
When that command is run, all the dependencies will be displayed along with their respective presence status (e.g.
checking for socket... yes
).At the end of the configuration process, check the INSTALLATION SUMMARY.
In INSTALLATION SUMMARY, Support for InterProlog's native engine must have the value
yes
, otherwise edit yourJAVA_HOME
environment variable.The other key configuration item is multi-threading. The option
--enable-mt
is there just to make sure of that. You can check the value of XSB abstract machine in INSTALLATION SUMMARY, it should bemulti-threading
. -
Compile the default subsystems using this command:
./makexsb --config-tag=mt
The command is kind enough to specify on termination the full path to the script that should be used to run XSB Prolog. That would be one of the two paths required for Interprolog.
-
Compile the .so library using this command:
./makexsb --config-tag=mt dynmodule
The kindness is still abundant and the second of the two aforementioned paths is printed on the screen.
Further information about installing and cleaning specific subsystems (or everything for that matter) is specified in the manuals under XSB/docs/userman.