如何在Ubuntu11.04上使用JPL解决“符号查找错误”?

时间:2011-07-01 08:12:48

标签: java shared-libraries swi-prolog ubuntu-11.04 jpl

我正在使用Java编写程序,我想连接到Prolog。因此,我决定使用JPL。在Windows Vista上使用JPL是完美的。后来,我必须将OS平台更改为Ubuntu 11.04。不幸的是,有一个错误:

  

符号查找错误:/usr/lib/swi-prolog/lib/i386/libjpl.so:undefined symbol:PL_is_initialised

环境:

  1. Ubuntu 11.04
  2. Java版本1.6.0_24
  3. Eclipse Galileo版本:3.5.2
  4. 适用于i386的SWI-Prolog版本5.10.1
  5. Jpl(apt-get install swi-prolog-java)
  6. Family.java + family.pl
  7. 我解释工作和问题的步骤如下。  步骤1:使用Synaptic Package Manager安装swi-prolog + jpl Swi-prolog Installation

    第2步:运行Family.java,发现错误 JPL not found Error

    步骤3:在 VMarguments 配置库路径 Set VMarguments step4:再次运行,出现错误 /usr/lib/jvm/java-6-sun-1.6.0.24/bin/java:符号查找错误:/usr/lib/swi-prolog/lib/i386/libjpl.so:undefined symbol:PL_is_initialised < /强> step5:我也配置环境但错误仍然相同。 set environment arguments

    我用来解决问题的方法,如我从互联网上搜索的第3步和第5步。我找不到其他尝试的解决方案。有没有人有任何想法?
    提前致谢。

2 个答案:

答案 0 :(得分:1)

我认为你必须配置LD_LIBRARY_PATH。尝试添加so-library文件的位置。并确保您的System.loadLibrary();电话是相对的。

答案 1 :(得分:1)

非常感谢您的支持。现在,我可以解决这个问题。我在页面 http://code.google.com/p/javanaproche/wiki/HowToJPL

中找到了一条建议

按照说明,我将swi-prolog版本更改为建筑形式源pl-5.10.1。最后,它的工作原理。我认为问题的发生是因为从synaptic manager获得的swi-prolog并没有设置为共享库。如果有人知道如何设置共享库,它可能会工作。