Я пытаюсь использовать JPL для взаимодействие программ Java и YAP Prolog.
В моем java-файле эта строка выдает исключение:
Query query = new Query ("consult", new Term [] {new Atom ("test.pl" )});
Исключение показано ниже:
Exception in thread "main" jpl.JPLException: this Query's engine is not that which is attached to this thread
at jpl.Query.close(Query.java:511)
at jpl.Util.textToTerm(Util.java:165)
at jpl.Query.Query1(Query.java:183)
at jpl.Query.<init>(Query.java:176)
at Test.main(Test.java:12)
Хотя я не нашел кого-то, кто сообщал бы о той же проблеме в YAP, у некоторых людей была эта проблема с SWI, и им посоветовали проверить, что SWI был скомпилирован с использованием multi -поддержка потоков. На всякий случай я скомпилировал YAP с поддержкой многопоточности, но это не помогло.
Эта проблема возникает только в OS X, я пробовал в Ubuntu, и там все работает нормально.
Кто-нибудь знает обходной путь для этой проблемы в OS X?