java on Linux arm64 по ошибке загружает библиотеки x86 - PullRequest
0 голосов
/ 03 мая 2020

У меня есть приложение java 7, для которого требуются библиотеки gtk. Я установил те, которые доступны на Ubuntu 18.04. Однако они не совместимы.

Я заметил, что есть папка для загрузки библиотеки temp java:

~/.swt/lib/linux/aarch64

Где приложение или java Движок продолжает загружать отсутствующие зависимости библиотеки, например:

libswt-gtk-4234.so

Но файл показывает, что это библиотека x86 !!!

libswt-gtk-4234.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

Мне было интересно, можно ли это контролировать и я могу java загрузить вместо этого библиотеки aarch64.

Я попытался связать все библиотеки в:

ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/aarch64

Но эти библиотеки имеют разные номера версий

libswt-gtk-4919.so instead of libswt-gtk-4234.so 

и x86 все равно закончится загрузкой.

Я попытался вручную связать libswt-gtk-4919.so с libswt-gtk-4234.so, но приложение java выдает ошибку UnsatisfiedLinkError: ошибки типа .

Мне нужно выяснить, как заставить java загрузить правильные библиотеки архитектуры или найти нужные библиотеки самостоятельно для размещения там.

Я считаю, что эти библиотеки являются частью затмения (но не уверен).

...