You can see that on my Mac Homebrew has installed the libswipl.dylib to /usr/local/Cellar/swi-prolog/8.0.2_2/libexec/lib/swipl/lib/x86_64-darwin.
Additionally, setting one of the environment variables jupyter-swi-prolog looks for should work but appears to have a bug:
[I 16:10:56.045 LabApp] KernelRestarter: restarting kernel (4/5), new random ports
[FATAL ERROR: at Tue Jun 2 16:10:56 2020
Could not find system resources]
Traceback (most recent call last):
File "/usr/local/bin/jswiplkernel", line 5, in <module>
from jswipl.jupyter import main
File "/usr/local/lib/python3.7/site-packages/jswipl/jupyter.py", line 1, in <module>
from . import swipl
File "/usr/local/lib/python3.7/site-packages/jswipl/swipl.py", line 1, in <module>
from pyswip import Prolog
File "/usr/local/lib/python3.7/site-packages/pyswip/__init__.py", line 29, in <module>
from pyswip.prolog import Prolog
File "/usr/local/lib/python3.7/site-packages/pyswip/prolog.py", line 28, in <module>
from pyswip.core import *
File "/usr/local/lib/python3.7/site-packages/pyswip/core.py", line 568, in <module>
(_path, SWI_HOME_DIR) = _findSwipl()
File "/usr/local/lib/python3.7/site-packages/pyswip/core.py", line 420, in _findSwipl
(path, swiHome) = _findSwiplMacOSHome()
File "/usr/local/lib/python3.7/site-packages/pyswip/core.py", line 349, in _findSwiplMacOSHome
(path_res, back_path) = walk(path, name)
ValueError: too many values to unpack (expected 2)
I guess I'm describing two things:
Feature request: Add an additional heuristic to find the swipl library using the output of swipl --dump-runtime-variables.
Bug report: There seems to be an issue with how the _findSwiplMacOSHome function walks the directory tree.
I personally am not able to work on these right now, unfortunately, but thought I would record them here in case someone else will be.
If
swipl
is accessible from a shell, executingswipl --dump-runtime-variables
will dump the SWIPL runtime variables:You can see that on my Mac Homebrew has installed the
libswipl.dylib
to/usr/local/Cellar/swi-prolog/8.0.2_2/libexec/lib/swipl/lib/x86_64-darwin
.Additionally, setting one of the environment variables
jupyter-swi-prolog
looks for should work but appears to have a bug:I guess I'm describing two things:
swipl --dump-runtime-variables
._findSwiplMacOSHome
function walks the directory tree.I personally am not able to work on these right now, unfortunately, but thought I would record them here in case someone else will be.