(Gluon) JavaFX17/18 на Raspi (с использованием рабочего стола) не работает из-за libglass.so: неопределенный символ g_direct_hash
Я пытался установить/запустить JavaFX18 из Gluon на моем Raspberry Pi4 и получил следующее сообщение об ошибке:
Исключение в потоке «основной» java.lang.reflect.InvocationTargetException в java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод)
(... отредактировано...)
Вызвано: java.lang.UnsatisfiedLinkError: /opt/javafx-sdk-18/lib/libglass.so: /opt/javafx-sdk-18/lib/libglass.so: неопределенный символ: g_direct_hash
вот мой конфиг:
- Java: Linux/arm32 jdk-17.0.1+12
- JavaFx: Linux/arm32 openjfx-18-ea+7 (также пробовал 17.0.1 и 17.0.2)
Я следую инструкциям для документа Gluon (https://docs.gluonhq.com/#platforms_embedded), используя простой пример HelloFX (https://github.com/openjfx/samples). Вот команды, которые я выполняю в каталоге HelloFX (где находится src) на моем пи:
- sudo /opt/jdk-17.0.1+12/bin/javac -verbose--module-path=/opt/javafx-sdk-18/lib --add-modules=javafx.controls src/hellofx/HelloFX.java - г расстояние
- sudo /opt/jdk-17.0.1+12/bin/java -Dglass.platform=gtk -Djava.library.path=/usr/java/packages/lib:/lib:/usr/lib:/opt/javafx-sdk-18/lib--module-path=/opt/javafx-sdk-18/lib --add-modules=javafx.controls -cp dist/. hellofx.HelloFX
[Обратите внимание, что это работает с X11, а не в режиме киоска/CLI; документ Gluon также показывает, как запустить тот же пример в нерабочем режиме с DRM..и т. д.: я пробовал это и работает достаточно хорошо; Я еще не пробовал вариант 64b]
Кто-нибудь наткнулся на эту проблему и смог обойти?
1 ответ
FWIW: Определенно не очень хорошее решение с неизвестным побочным эффектом: я использовал libglass.so из JavaFX11 SDK, заменив тот же файл в JavaFX17.0.1/lib, и пример HelloFX запускается с рабочего стола.
Итак... либо есть ошибка в FX 17.0.1/17.0.2 и 18 Linux/arm32 SDK с этим файлом libglass.so, либо требуются какие-то неясные настройки.