Как решить "Ошибка поиска символа", используя JPL на Ubuntu11.04? - PullRequest
3 голосов
/ 01 июля 2011

Я пишу программу на Java и хочу подключиться к Прологу.Таким образом, я решил использовать JPL.Отлично использовать JPL в Windows Vista.Позже мне придется сменить платформу ОС на Ubuntu 11.04.К сожалению, есть ошибка:

ошибка поиска символа: /usr/lib/swi-prolog/lib/i386/libjpl.so: неопределенный символ: PL_is_initialised

Среда:

  1. Ubuntu 11.04
  2. Java версия 1.6.0_24
  3. Eclipse Galileo Версия: 3.5.2
  4. SWI-Пролог версия 5.10.1 для i386
  5. Jpl (apt-get install swi-prolog-java)
  6. Family.java + family.pl

Я объясняюЭтапы работы и проблемы следующие.Шаг 1: Установите swi-prolog + jpl с помощью диспетчера пакетов Synaptic Swi-prolog Installation

step2: Запустите Family.java, обнаружил ошибку JPL not found Error

step3: НастройтеПуть к библиотеке в VMarguments Set VMarguments step4: Запустите снова, есть ошибка / usr / lib / jvm / java-6-sun-1.6.0.24 / bin / java: ошибка поиска символа:/usr/lib/swi-prolog/lib/i386/libjpl.so: неопределенный символ: PL_is_initialised step5: я также настраиваю среду, но ошибка остается той же.set environment arguments

Метод, который я использовал для решения проблемы, как в шагах 3 и 5, я искал из Интернета.Я не могу найти другие решения, чтобы попробовать.У кого-нибудь есть идеи?
Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 01 июля 2011

Большое спасибо за каждую поддержку. Теперь я могу справиться с этой проблемой. Я нашел предложение со страницы http://code.google.com/p/javanaproche/wiki/HowToJPL

Следуя инструкциям, я изменяю версию swi-prolog на источник формы здания pl-5.10.1. Наконец, это работает. Я думаю, что проблема возникает из-за того, что swi-пролог, получаемый из synaptic manager, не является общей библиотекой. Если кто-нибудь знает, как настроить общую библиотеку, это может сработать.

1 голос
/ 01 июля 2011

Вы должны настроить LD_LIBRARY_PATH, я думаю.Попробуйте добавить местоположение файла so-library.И убедитесь, что ваш System.loadLibrary(); вызов относительно.

...