Error: exported procedure socket: XYZ not defined - when using Parallels on Apple M3, but not on Apple Intel Core i7

Any help is very much appreciated!

I am using SWI-Prolog 10.0.2-1 in a classroom on different platforms:

  • Linux (no problem)
  • MacOS on M3 (no problem)
  • MacOS on Intel Core i7 (no problem)
  • Parallels on Mac with Intel Core i7 (no problem)
  • Parallels on Mac with M3 and have the following problem(s):

Problem 1:

> swipl-win one_line_file.pl
Welcome to SWI-Prolog (threaded, 64 bits, version 10.0.2)

5 ?- edit.

after closing the editor, I get the message:

5 ?- edit.
true.

5 ?- ERROR: [Thread main] Exported procedure socket:tcp_connect/2 is not defined
ERROR: [Thread main] Exported procedure socket:tcp_host_to_address/2 is not defined

Problem 2:

Only when using Parallels on a Mac with M3 (but not when using Parallels on a Mac with Intel Core i7), when compiling larger files, I get similar, but slightly different error messages:

>swipl --goal=main -o tester1.exe -c module21.pl
ERROR: c:/program files/swipl/library/http/http_header.pl:85:
ERROR: Exported procedure socket:tcp_connect/2 is not defined
ERROR: c:/program files/swipl/library/http/http_header.pl:85:
ERROR: Exported procedure socket:tcp_host_to_address/2 is not defined
Warning: c:/program files/swipl/library/prolog_pack.pl:79:
Warning: import/1: process:process_which/2 is not exported (still imported into prolog_pack)
% Disabled autoloading (loaded 58 files)
ERROR: [Thread main] c:/program files/swipl/library/ext/clib/socket.qlf:
ERROR: [Thread main] module “socket” already loaded from “c:/program files/swipl/library/socket.pl” (skipped)
ERROR: [Thread main] c:/program files/swipl/library/ext/clib/socket.qlf: skipped module “socket” lacks ip_name/2
ERROR: [Thread main] c:/program files/swipl/library/ext/clib/socket.qlf: skipped module “socket” lacks host_address/3
ERROR: [Thread main] c:/program files/swipl/library/ext/clib/socket.qlf: skipped module “socket” lacks socket_create/2
Call: (53) qclose((0000024ed4f69a00), (0000024ed5850630)) ?

As stated before, I appreciate any help!

Thanks,

Stefan

The messages suggests it cannot load foreign extensions at all. You could verify that by running the command below, which verifies that the extensions are available and can be loaded.

 ?- check_installation.

But then, why would you run the Windows version of SWI-Prolog using Parallels rather than the native MacOS version?

If it cannot load .DLL files, I guess we must conclude Parallels is broken.