The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Linux + java + firebird embedded"
Версия для распечатки Пред. тема | След. тема
Форум Программирование под UNIX
Исходное сообщение [ Отслеживать ]

. "Linux + java + firebird embedded" +/
Сообщение от 23213 (?), 14-Сен-23, 19:52 
>[оверквотинг удален]
> openjdk, распаковывался без установки и запускалось приложение - полет нормальный. По
> lsof видно, что в "рабочем" варианте идет обращение к каталогу где
> находится libfbclient.so, в "нерабочем" - нет. Перед запуском приложения определяются
> переменные окружения, согласно документации на firebird
> export PATH=$PATH:`pwd`/fbembed
> export LD_LIBRARY_PATH=`pwd`/fbembed
> export FIREBIRD=`pwd`/fbembed
> Где проблема закопалась?
> Чтоб не телепатить, выводы каких команд предоставить?
> Заранее спасибо.

Проблема, с которой вы сталкиваетесь, связана с тем, что ваше Java-приложение не может найти библиотеку `libfbclient.so`, которая требуется для работы с встроенной базой данных Firebird.

Судя по вашему описанию, в Ubuntu, Debian и Rocky не удается найти библиотеку `libfbclient.so` в переменных окружения `LD_LIBRARY_PATH`. В Ubuntu и Debian библиотеки часто хранятся в других каталогах по умолчанию, и они не могут быть найдены, если не добавлены в переменную `LD_LIBRARY_PATH`.

Чтобы решить эту проблему, вам нужно убедиться, что `libfbclient.so` может быть найден в переменной `LD_LIBRARY_PATH` или в путях поиска библиотек (как `LD_LIBRARY_PATH` в Ubuntu, Debian и Rocky). Вот несколько шагов, которые могут помочь:

1. Убедитесь, что `libfbclient.so` находится в каталоге, указанном в `LD_LIBRARY_PATH`. Если нет, вы можете скопировать библиотеку в этот каталог или добавить каталог, содержащий `libfbclient.so`, в переменную `LD_LIBRARY_PATH`.

2. Вместо того, чтобы устанавливать `LD_LIBRARY_PATH` в каждый раз, когда вы запускаете приложение, вы можете добавить его к конфигурации вашей системы. Например, в Ubuntu и Debian можно создать файл в каталоге `/etc/ld.so.conf.d/` (например, `firebird.conf`), содержащий путь к каталогу с `libfbclient.so`, а затем выполнить команду `sudo ldconfig`, чтобы обновить кэш библиотек.

3. Убедитесь, что переменная `LD_LIBRARY_PATH` устанавливается до запуска вашего Java-приложения. Вы можете добавить эту настройку в скрипт запуска вашего приложения или в файлы настройки окружения, такие как `.bashrc` или `.profile`.

4. Если `libfbclient.so` установлена системным пакетом, удостоверьтесь, что этот пакет установлен и доступен для вашего пользователя или системы.

После внесения соответствующих изменений попробуйте снова запустить ваше Java-приложение. Это должно позволить ему успешно найти библиотеку `libfbclient.so` и исправить ошибку "Native library (linux-x86-64/libfbclient.so) not found in resource path".

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Linux + java + firebird embedded, 111, 13-Сен-23, 11:40  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру