es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

(Gluon) JavaFX17/18 en Raspi (usando escritorio) no se está ejecutando debido a libglass.so: símbolo indefinido g_direct_hash.

He estado intentando instalar/ejecutar JavaFX18 de Gluon en mi Raspberry Pi4 y obtengo el siguiente mensaje de error:

Excepción en el hilo “main” java.lang.reflect.InvocationTargetException
en java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Método Nativo)

(… editado…)

Causado por: java.lang.UnsatisfiedLinkError: /opt/javafx-sdk-18/lib/libglass.so: /opt/javafx-sdk-18/lib/libglass.so: símbolo no definido: gdirecthash

Aquí está mi configuración:
– Java: Linux/arm32 jdk-17.0.1+12
– JavaFx: Linux/arm32 openjfx-18-ea + 7 (también probé 17.0.1 y 17.0.2)

Estoy siguiendo las instrucciones de la documentación de Gluon (https://docs.gluonhq.com/#platforms_embedded) usando el ejemplo sencillo HelloFX (https://github.com/openjfx/samples).
Aquí están los comandos que estoy ejecutando en el directorio HelloFX (donde se encuentra src) en mi Pi:

  1. 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 -d dist
  2. 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

[Tenga en cuenta que esto se ejecuta con X11, no en modo Kiosk/CLI; la documentación de Gluon también muestra cómo ejecutar ese mismo ejemplo en modo no de escritorio con DRM..etc: lo he intentado y funciona razonablemente bien; todavía no he probado la variante de 64b].

¿Alguien ha encontrado este problema y ha podido resolverlo?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás encontrando un error de UnsatisfiedLinkError mientras intentas ejecutar JavaFX18 de Gluon en tu Raspberry Pi4. El mensaje de error sugiere que hay un símbolo no definido para g_direct_hash en la biblioteca libglass.so.

    Basado en tu configuración, estás usando Linux/arm32 jdk-17.0.1+12 para Java y Linux/arm32 openjfx-18-ea+7 (también intentaste con 17.0.1 y 17.0.2) para JavaFx. Estás siguiendo las instrucciones según la documentación de Gluon utilizando el simple ejemplo HelloFX.

    Para resolver este problema, intenta actualizar tu versión de libglib2.0-0. Esta biblioteca contiene g_direct_hash y puede estar causando el error. Puedes actualizarla con el siguiente comando:

    sudo apt-get update
    sudo apt-get install libglib2.0-0
    

    Después de actualizar, vuelve a construir tu código e intenta ejecutarlo de nuevo. Si el problema persiste, puede ser necesario verificar cualquier dependencia faltante o errores en tu código. También puedes intentar publicar tu pregunta en el foro comunitario de Gluon o contactar a su equipo de soporte para obtener más ayuda.

Comments are closed.