Pack_list certificate verify failed

Trying SWIPL for the first time on a Pixelbook. I’ve got most things working, but pack installation isn’t co-operating. I can’t tell exactly where in the pipeline things are going wrong. At any rate, this is my output:

Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 7.2.3)
Copyright (c) 1990-2015 University of Amsterdam, VU Amsterdam
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.

For help, use ?- help(Topic). or ?- apropos(Word).

?- pack_list( X ).
% Contacting server at http://www.swi-prolog.org/pack/query ...
ERROR: SSL(14090086) ssl3_get_server_certificate: certificate verify failed

I’ve tried the usual gubbins at the Linux prompt updating with apt-get, calling update-ca-certificates etc. No joy. I haven’t seen similar errors outside of this context (i.e. getting hold of packs for SWIPL).

I did manage to download the pack for which I was looking manually (function_expansion) but I can’t work out how to use pack_install/1 to work with it. What would the format of that call look like? (I was thinking it might want a string specifing the local dir but it wants an atom specifically.)

You are using an old version, see:

1 Like

Hmm, so the stable version repository for Linux is essentially a now-broken out-of-date version?

EDIT: Hmm, maybe my Linux repositories are screwy.

Quite possibly.

I would suggest using the “development” version – in my experience, it’s very stable, and it has new features that I enjoy. It’s very easy to set up (assuming you’re using apt):
https://www.swi-prolog.org/build/PPA.html

sudo apt install software-properties-common
sudo apt-add-repository ppa:swi-prolog/devel
sudo apt update
sudo apt install swi-prolog

and from time to time:

sudo apt update
sudo apt upgrade

I’m getting the feeling that Crostini doesn’t care about the presence (or indeed absence) of ppa packages when
sudo apt install swi-prolog
…is called. It goes ahead whether ppa repositories have been added or not, and seems to want to install 7.2.3 in all cases.

EDIT: I ended up just building from source.

Many Linux distros lack behind considerably. There is little that can be done about this. You can send a note to the distro manager. Others are pretty up to date (e.g., gentoo is at 8.3.11).

Alternatives:

  • Build from source. If you get the prerequisites from debian or Fedora (works typically fine on related distros), it is typically really easy. Use the git clone rather than the tar and you can upgrade and move forth and back in history in just a few seconds.
  • On Ubuntu, use the PPA
  • Use a snap image
1 Like