В 64-разрядной JVM, в Linux, независимо от того, что загружает загружаемая библиотека, пытается загрузить 32-разрядную библиотеку.
Я спрашиваю об этом как clojure и (даже более) java n00b.
Ответы, которые я нашел до сих пор (Использование lwjgl в Leiningen/ Clojure, по-видимому, является наиболее заметным в результатах поиска), похоже, для более старых версий лейн, с проблемами, зависящими от: native-зависимостей или LD_LIBRARY_PATH в project.clj.
Я заново изобретаю колесо и перевод основных учебников jME в clojure как небольшое личное домашнее задание для обучения их обоих. Во всех учебниках и примерах, которые я нашел до сих пор, люди, показывающие, как они это сделали, эта часть кажется "просто работающей".
(Это работало отлично для меня под Windows, если на то пошло).
Я использую lein для создания нового пустого проекта. Я установил зависимости от различных версий библиотек jMonkeyEngine на клоарах. После того, как "lein deps", liblwjgl64.so и libopenal64.so завершатся в корне моей директории проекта.
Когда я пытаюсь выполнить "lein run", он показывает экран заставки обезьяны для настроек, затем он выдает исключение, когда пытается на самом деле запустить, потому что пытается загрузить liblwjgl.so.
Этот файл присутствует в файле target/native/linux и target/native/linux64 (хотя, как ни странно, не под target/native/linux32).
Если я скопирую файл, который он хочет в свой корневой каталог проекта, ошибка изменится на "неправильный класс ELF: ELFCLASS32 (Возможная причина: несоответствие ширины слова архитектуры)", который является другим набором обсуждений, которые Google продолжает давать мне. Решения, упомянутые там, похоже, сводятся к "Переключению на 32-разрядную JVM для работы Minecraft", но я бы скорее понял, что происходит.
Эта проблема очень согласована во всех наборах библиотек зависимостей, которые я мог бы получить в клоарах (до версии 2, во всяком случае... у них были большие проблемы, которые, похоже, не стоили вникать). Набор символов Charles "Just Worked" для меня на окнах.
Лучшая гипотеза, с которой мне удалось придумать, работает в этом направлении:
Я подозреваю, что версия должна быть указана в какой-то момент. http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html#resources упоминает свойство ресурсов, которое выглядит идеально, но это, похоже, не имеет ничего общего с JNLP. Мне интересно, есть ли файл манифеста, сидящий где-то в .jar, который я не смог найти (здесь, где моя n00bishness вступает в игру... Я действительно не понимаю, что я ищу).
Итак, есть ли у кого-нибудь какие-либо указания о том, где я должен искать или кого я должен спросить? Я не знаю достаточно, чтобы даже знать, куда идти отсюда. Было бы более целесообразно приставать к форумам jMonkeyEngine, # clojure или списку рассылки lwjgl (или тому, что они используют... Я вообще не рассматривал их стороны вещей... не так ли?)
Следующее, что я собираюсь попробовать, это объединить библиотеки jME в мой собственный репозиторий. Это похоже на большую, довольно сложную задачу, которую я решил задать здесь, пока я занимаюсь этим углом.
Я знаю, что это расплывчато, и я извиняюсь за это. Мой google-fu подвел меня. Я был бы признателен за любые предложения, которые могут придумать.
Спасибо заранее!