Http_open throwing an error in version 9.3.6

I just ran a script that used to work (I posted the code a while back at Initial attempt at a kif to Prolog translator), but running the same example now produces:

ERROR: /usr/lib/swipl/library/http/http_open.pl:67:
ERROR:    Exported procedure socket:tcp_connect/2 is not defined
ERROR: /home/roblaing/swipl/bin/kif2prolog.pl:6: user:main module/2: No permission to redefine module `socket' (Already loaded from /usr/lib/swipl/library/socket.pl)

Anyone else having this problem?

The problem went away when reverted to 9.2.4 (the version Arch Linux’s pacman installs) from the built-from sources 9.3.6.
All the tests passed when I built 9.3.6, so no idea if it’s an Arch Linux problem or some bug in the development version code.

AFAIK, the problem is due to the reorganization of the library file structure. Both the old and new should work fine, but if due to an old installation to have both the old and new files installed you get these issues. So, you have to clean all files from the installation directory before installing the new version.

1 Like

Apologies I didn’t see the answer you already gave to this problem here Exported procedure socket:tcp_connect/2 is not defined - #4 by jan

As I’ve already done on my server, I’ve opted now to be also conservative on my development laptop and just used the version installed by my distribution’s package manager because compiling from source has become too difficult for me.