Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SWI Prolog无法通过JPL运行外部进程_Java_Prolog_Swi Prolog_Jpl - Fatal编程技术网

Java SWI Prolog无法通过JPL运行外部进程

Java SWI Prolog无法通过JPL运行外部进程,java,prolog,swi-prolog,jpl,Java,Prolog,Swi Prolog,Jpl,我下载了最新版本的SWI Prolog,并按照说明进行了构建。没问题,所有测试都正常。我开发了一个用Prolog编写的工具,它利用Python例程,使用process/2内置函数调用它。它确实很管用 当我尝试使用JPL从Java接口调用Prolog代码时,会出现问题。在Prolog尝试执行对Python例程的调用之前,一切都进展顺利:Java无法执行“process/2”SWI Prolog内置函数 错误的回溯如下所示: ERROR: /usr/local/lib/swipl/library/p

我下载了最新版本的SWI Prolog,并按照说明进行了构建。没问题,所有测试都正常。我开发了一个用Prolog编写的工具,它利用Python例程,使用process/2内置函数调用它。它确实很管用

当我尝试使用JPL从Java接口调用Prolog代码时,会出现问题。在Prolog尝试执行对Python例程的调用之前,一切都进展顺利:Java无法执行“process/2”SWI Prolog内置函数

错误的回溯如下所示:

ERROR: /usr/local/lib/swipl/library/process.pl:57:
/usr/local/lib/swipl/library/process.pl:57: Initialization goal raised exception:
'$open_shared_object'/3: /usr/local/lib/swipl/lib/x86_64-linux/process.so: undefined symbol: Sfilefunctions
ERROR: Exported procedure process:process_kill/2 is not defined
ERROR: Exported procedure process:process_group_kill/2 is not defined
ERROR: Exported procedure process:process_set_method/1 is not defined
ERROR: Exported procedure process:process_wait/3 is not defined
Exception in thread "main" org.jpl7.PrologException: PrologException: error(existence_error(procedure, ':'(process, '/'(process_create, 2))), context(':'(process, '/'(process_create, 3)), _0))
at org.jpl7.Query.fetchNextSolution(Query.java:437)
at org.jpl7.Query.hasMoreSolutions(Query.java:341)
at org.jpl7.Query.hasNext(Query.java:240)
at org.jpl7.Query.allSolutions(Query.java:621)
at com.frantiz.pipeline.tools.PrologCodeLauncher.executeAnaphoraRes(PrologCodeLauncher.java:49)
at com.frantiz.pipeline.tools.PrologCodeLauncher.executeCode(PrologCodeLauncher.java:26)
at com.frantiz.pipeline.Pipeline.main(Pipeline.java:42)
我已经仔细检查了
$LD\u PRELOAD
$LD\u LIBRARY\u PATH
变量中是否存在
libjpl.so
libswipl.so
。真的无法从中得到任何线索

非常感谢您的帮助。

请尝试。这就是SWI Prolog的主要开发者和维护者Jan W公开露面的地方。我不能说他会做出回应,但我不认为在座的许多人会试图看这个问题,更不用说回答了。这不是我想回答的问题,试着回答。这就是SWI Prolog的主要开发者和维护者Jan W公开露面的地方。我不能说他会做出回应,但我不认为在座的许多人会试图看这个问题,更不用说回答了。这不是我想回答的问题。