63880

JPL/SWI Prolog not working

I'm trying to use the SWI-Prolog JPL library, but I'm having problems.

I'm trying to let my Eclipse project access JPL, but when I try to start the program, I get the following error:

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no jpl in java.library.path

I copied the jpl.jar into my project directory, and I set it on the build path. Additionally, I pass the following VM arguments:

-Djava.library.path="C:\Program Files\Prolog\bin"

(That's the directory where Prolog was installed).

What am I doing wrong?

<hr>

EDIT: I don't seem to have the libpl.dll anywhere on my computer. Could this be causing my problem?

Answer1:

The jvm.dll of your running JDK/JRE must be available in your system PATH so that jpl.dll from java.library.path loads properly.

You have to take care to 32 bits / 64 bits consistency between your JPL installation and your running JVM - so do not try any mix.

Here is information from an old installation doc.

For such installation support, you should use the JPL mailing list.

Answer2:

You should set the java.library.path to the folder where the jpl.dll file is located. As far as I know it is the Prolog\bin folder.

Answer3:

A system-wide solution in a Mac environment (SWI-Prolog version 7.1.4 for x86_64-darwin13.1.0) would be to create the following symlink:

ln -s /usr/local/Cellar/swi-prolog/7.1.4/libexec/lib/swipl-7.1.4/lib/x86_64-darwin13.1.0/libjpl.jnilib /Library/Java/Extensions/libjpl.jnilib

Recommend

  • Yomu and Heroku
  • cant connect to kafka from external machine
  • Unable to start neo4j server 2.1.2
  • Getting WSO2 IOT Server running as a Windows Service
  • Convert a 12 hour time format to 24 hour time format (keeping record of the day) in python
  • Packet modification with netfilter queue?
  • Getting zero results in search using elastic4s
  • RPMs for IDAS IoTAgents GE, from Fiware
  • PHP file_exists() anomaly
  • How dotnet build chooses the output name
  • JSR-330 support in Picocontainer : @Inject … @Named(\"xxx)
  • hide missing dates from x-axis ggplot2
  • Creating a DropDownList
  • Who propagate bugfixes across branches (corporate development)?
  • Memory error in python- how to use more memory
  • Web.config system.webserver errors
  • Differences in dis-assembled C code of GCC and Borland?
  • Checking free space on FTP server
  • Change Inet root folder for iis 7
  • Algorithm for a smudge tool?
  • Scrapy recursive link crawler
  • Installing Hadoop, Java Exception about illegal characters at index 7?
  • Pass value from viewmodel to script in zk
  • Illegal mix of collations for operation for date/time comparison
  • MySQL WHERE-condition in procedure ignored
  • Updated Ionic CLI but shows previous version (Windows)
  • Convert array of 8 bytes to signed long in C++
  • How to make Safari send if-modified-since header?
  • jqPlot EnhancedLegendRenderer plugin does not toggle series for Pie charts
  • How do I rollback to a specific git commit
  • Is there a mandatory requirement to switch app.yaml?
  • Error creating VM instance in Google Compute Engine
  • How to set the response of a form post action to a iframe source?
  • -fvisibility=hidden not passed by compiler for Debug builds
  • Change div Background jquery
  • Qt: Run a script BEFORE make
  • Checking variable from a different class in C#
  • Busy indicator not showing up in wpf window [duplicate]
  • reshape alternating columns in less time and using less memory
  • Net Present Value in Excel for Grouped Recurring CF