The 9.1.12 was a bit of a deception as the binary releases failed on
most systems due to configuration issues with the new Python binding.
This is a retry. If all goes well library(janus) should be in the
Linux PPAs, except for bionic (but including lunar), the Windows
64 bit installer, the MacOS Macports version and teh Docker image.
Cheers — Jan
SWI-Prolog Changelog since version 9.1.12
FIXED: Pass check/0 dependency check if tty_size/2 is not defined.
PORT: When using Macports for dependencies, set the cmake FrameWork
search path
PORT: Disable swipy (janus) if CMake is older than 3.18.
Package debian
ADDED: dependency on Python itself. Although a dependency on
libpython3-dev is good enough, cmake cannot find the Python conponents
without Python.
Package clib
PORT: Proper ip6 support detection for FreeBSD
Package swipl-win
PORT: Updated cmake compatibility to > 3.5
Package swipy
FIXED: py_iter/2,3 synchronization Thes predicates did not use the
functions that lazily initializes Python, take and release the GIL.
PORT: Allow using python3.dll on Windows This patch detects the
presense of python3.dll next to python3xx.dll on Windows
and, when found uses this dll and builds the interface based only
on what is in python3.dll. See janus/janus.c comment regarding PYTHON3_COMPAT for details.
PORT: Windows: make the Python package janus compile and load.
PORT: Make janus.c using the MSVC compiler. MSVC is the default
compiler required by the pip version shipped with the default Windows
installers.
ENHANCED: Improve the Python package Makes the setup more reliable,
allow using janus.pl from the Python package, allow embedded SWI-Prolog
to load extensions and properly sets up interactive Prolog usage
in prolog()
ADDED: setup.py, turning the repo into an installable Python
package This commit reorganises the code such that it both works
for embedding Python in Prolog and Prolog in Python. It also adds
more documentation.
PORT: Support CMake as of 3.16, provided by Ubuntu bionic
Excuse me @jan but, beside the fact that for the moment I think I’ll stay with version 9.1.12 with all the mess I had to go through yesterday and also on Saturday to make it work, but the version 9.1.13 is not yet available on Macports, right? Or am I doing something wrong? Because if i write port search swi-prolog on the terminal window I get this output:
marco@MacBookoBachini ~ % port search swi-prolog
swi-prolog @9.0.4 (lang)
SWI-Prolog compiler plus extra packages (stable version)
swi-prolog-devel @9.1.11 (lang)
SWI-Prolog compiler plus extra packages (development version)
Found 2 ports.
I’ve submitted a PR to Macports and got an acceptance message a few minutes ago. I don’t know how long it takes to be available in port from there.
As for a source build, if you downloaded the sources by cloning the GIT repo, updating to the latest version is really easy:
git pull
git submodule update --init
cd build (or whatever build directory you used)
ninja
(and, optionally) [sudo] ninja install
This works 99% of the cases and is fast because it only recompiles the things that changed. If you upgraded Xcode or Macports significantly, you sometimes have to clean the build directory, run cmake -G Ninja .. again to build. I normally do the above first. If there are failures and I updated Xcode and/or Macports, I do the clean and hope the problems are gone