# Ann: SWI-Prolog 9.1.13

**URL:** <https://swi-prolog.discourse.group/t/ann-swi-prolog-9-1-13/6761>\
**Category:** Releases\
**Created:** [August 7, 2023, 10:08am UTC](https://swi-prolog.discourse.group/t/ann-swi-prolog-9-1-13/6761 "2023-08-07T10:08:23Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [August 7, 2023, 10:08am UTC](https://swi-prolog.discourse.group/t/ann-swi-prolog-9-1-13/6761/1 "2023-08-07T10:08:24Z")

</div>

Dear SWI-Prolog user,

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

- PORT: Fix for Python \< 3.8

---

<div class="post-metadata">

**Author:** ![EricGT](https://avatars.discourse-cdn.com/v4/letter/e/f1d935/32.png) [@EricGT](https://swi-prolog.discourse.group/u/EricGT)\
**Post date:** [August 7, 2023, 10:55am UTC](https://swi-prolog.discourse.group/t/ann-swi-prolog-9-1-13/6761/2 "2023-08-07T10:55:35Z")

</div>

Tried to download for Windows 64-bit

`https://www.swi-prolog.org/download/devel/bin/swipl-9.1.13-1.x64.exe`

![image](https://global.discourse-cdn.com/free1/uploads/swiprolog/original/2X/4/4ea8984bf5edc48c45fc25fde11ee289c5b3a99e.png)

It was not listed on the development [download page](https://www.swi-prolog.org/download/devel/bin/)

![image](https://global.discourse-cdn.com/free1/uploads/swiprolog/original/2X/5/50a1c1fe0c9bfdb9a919151568001446ca7a181f.png)

* * *

Thanks for the build; waiting to try it. 🙂

---

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [August 7, 2023, 12:34pm UTC](https://swi-prolog.discourse.group/t/ann-swi-prolog-9-1-13/6761/3 "2023-08-07T12:34:42Z")

</div>

Works fine here. Possibly you had some bad luck that the one backend already had the link and the other not yet the file. Please try again.

---

<div class="post-metadata">

**Author:** ![EricGT](https://avatars.discourse-cdn.com/v4/letter/e/f1d935/32.png) [@EricGT](https://swi-prolog.discourse.group/u/EricGT)\
**Post date:** [August 7, 2023, 12:39pm UTC](https://swi-prolog.discourse.group/t/ann-swi-prolog-9-1-13/6761/4 "2023-08-07T12:39:38Z")

</div>

> [@jan](#):
>
> Please try again.

It is listed now.

![image](https://global.discourse-cdn.com/free1/uploads/swiprolog/original/2X/8/8e06a6ef1e89794dba3eebbc054ddcafbbae12e0.png)

Was also able to download starting from `https://www.swi-prolog.org/download/devel`

SWI-Prolog 9.1.13 installed correctly and the Janus test worked.

```plaintext
C:\Users\Groot>cd "C:\Users\Groot\Documents\GitHub\packages-swipy"

C:\Users\Groot\Documents\GitHub\packages-swipy>swipl
Welcome to SWI-Prolog (threaded, 64 bits, version 9.1.13)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.

For online help and background, visit https://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).

1 ?- pwd.
% c:/users/groot/documents/github/packages-swipy/
true.

2 ?- [test_janus].
true.

3 ?- test_janus.
[51/51] xsb_call:reverse ......................... passed (0.003 sec)
% All 51 tests passed in 0.864 seconds (0.375 cpu)
true.

4 ?- check_installation.
% Checking your SWI-Prolog kit for common issues ...
%
% Version: ............. 9.1.13
% Address bits: ........ 64
% Architecture: ........ x64-win64
% Installed at: ........ c:/program files/swipl
% Cores: ............... 4
%
% Checking gmp ................................. ok
% Loading library(archive) ..................... ok
% Supported filters: bzip2, compress, gzip, grzip, lrzip, lzip, lzma, lzop, none, rpm, uu, xz
% Supported formats: 7zip, ar, cab, cpio, empty, gnutar, iso9660, lha, mtree, rar, raw, tar, xar, zip
% Loading library(cgi) ......................... ok
% Loading library(crypt) ....................... ok
% Loading library(bdb) ......................... ok
% Loading library(double_metaphone) ............ ok
% Loading library(filesex) ..................... ok
% Loading library(http/http_stream) ............ ok
% Loading library(http/json) ................... ok
% Loading library(http/jquery) ................. ok
% jQuery from c:/program files/swipl/library/http/web/js/jquery-3.6.0.min.js
% Loading library(isub) ........................ ok
% Loading library(jpl) ...
% Extended DLL search path with
% 'c:/Program Files/Java/jdk-12/bin/server'
% 'c:/Program Files/Java/jdk-12/bin'
................................................ ok
% Loading library(memfile) ..................... ok
% Loading library(odbc) ........................ ok
Warning: library(pce) .......................... NOT FOUND
Warning: See http://www.swi-prolog.org/build/issues/xpce.html
% Loading library(pcre) ........................ ok
% Loading library(pdt_console) ................. ok
% Loading library(porter_stem) ................. ok
% Loading library(process) ..................... ok
% Loading library(protobufs) ................... ok
% Loading library(readutil) .................... ok
% Loading library(semweb/rdf_db) ............... ok
% Loading library(semweb/rdf_ntriples) ......... ok
% Loading library(semweb/turtle) ............... ok
% Loading library(sgml) ........................ ok
% Loading library(sha) ......................... ok
% Loading library(snowball) .................... ok
% Loading library(socket) ...................... ok
% Loading library(ssl) ......................... ok
% Loading library(sweep_link) .................. ok
% GNU-Emacs plugin loads
% M c:/Program Files/swipl/bin/sweep-module.dll
% Loading library(crypto) ...................... ok
% Loading library(table) ....................... ok
% Loading library(time) ........................ ok
% Loading library(unicode) ..................... ok
% Loading library(uri) ......................... ok
% Loading library(uuid) ........................ ok
% Loading library(zlib) ........................ ok
% Loading library(yaml) ........................ ok
Warning: Found 1 issues.
true.

```

check\_installation/0 passes all test when started as `“C:\Program Files\swipl\bin\swipl-win.exe” --win_app`

```plaintext
Welcome to SWI-Prolog (threaded, 64 bits, version 9.1.13)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.

For online help and background, visit https://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).

?- check_installation.
% Checking your SWI-Prolog kit for common issues ...
% 
% Version: ............. 9.1.13
% Address bits: ........ 64
% Architecture: ........ x64-win64
% Installed at: ........ c:/program files/swipl
% Cores: ............... 4
% 
% Checking gmp ................................. ok
% Loading library(archive) ..................... ok
% Supported filters: bzip2, compress, gzip, grzip, lrzip, lzip, lzma, lzop, none, rpm, uu, xz
% Supported formats: 7zip, ar, cab, cpio, empty, gnutar, iso9660, lha, mtree, rar, raw, tar, xar, zip
% Loading library(cgi) ......................... ok
% Loading library(crypt) ....................... ok
% Loading library(bdb) ......................... ok
% Loading library(double_metaphone) ............ ok
% Loading library(filesex) ..................... ok
% Loading library(http/http_stream) ............ ok
% Loading library(http/json) ................... ok
% Loading library(http/jquery) ................. ok
% jQuery from c:/program files/swipl/library/http/web/js/jquery-3.6.0.min.js
% Loading library(isub) ........................ ok
% Loading library(jpl) ...
% Extended DLL search path with
% 'c:/Program Files/Java/jdk-12/bin/server'
% 'c:/Program Files/Java/jdk-12/bin'
................................................ ok
% Loading library(memfile) ..................... ok
% Loading library(odbc) ........................ ok
% Loading library(pce) ......................... ok
% Loading library(pcre) ........................ ok
% Loading library(pdt_console) ................. ok
% Loading library(porter_stem) ................. ok
% Loading library(process) ..................... ok
% Loading library(protobufs) ................... ok
% Loading library(readutil) .................... ok
% Loading library(semweb/rdf_db) ............... ok
% Loading library(semweb/rdf_ntriples) ......... ok
% Loading library(semweb/turtle) ............... ok
% Loading library(sgml) ........................ ok
% Loading library(sha) ......................... ok
% Loading library(snowball) .................... ok
% Loading library(socket) ...................... ok
% Loading library(ssl) ......................... ok
% Loading library(sweep_link) .................. ok
% GNU-Emacs plugin loads
% M c:/Program Files/swipl/bin/sweep-module.dll
% Loading library(crypto) ...................... ok
% Loading library(table) ....................... ok
% Loading library(time) ........................ ok
% Loading library(unicode) ..................... ok
% Loading library(uri) ......................... ok
% Loading library(uuid) ........................ ok
% Loading library(zlib) ........................ ok
% Loading library(yaml) ........................ ok
% 
% Congratulations, your kit seems sound and complete!
true.

```

---

<div class="post-metadata">

**Author:** ![anon419083](https://avatars.discourse-cdn.com/v4/letter/a/53a042/32.png) [@anon419083](https://swi-prolog.discourse.group/u/anon419083)\
**Post date:** [August 7, 2023, 1:37pm UTC](https://swi-prolog.discourse.group/t/ann-swi-prolog-9-1-13/6761/5 "2023-08-07T13:37:23Z")

</div>

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:

```prolog
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.

```

---

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [August 7, 2023, 2:00pm UTC](https://swi-prolog.discourse.group/t/ann-swi-prolog-9-1-13/6761/6 "2023-08-07T14:00:47Z")

</div>

> [@anon419083](#):
>
> version 9.1.13 is not yet available on Macports, right?

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 🙂
