IBX от Rik и путь к клиентской библиотеке

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

IBX от Rik и путь к клиентской библиотеке

Сообщение slyubez » 24.09.2023 16:59:02

Приветствую всех.

Столкнулся с непонятной багой. Работаю над одним проектом дома и на работе. На работе стоит Linux Mint 20 и Lazarus 2.0.16, дома Mint 21.1 и Lazarus 2.2.6. Сейчас перевожу один проект с Delphi на Лазаря для Linux с использованием IBX в Lazarus-виде. На работе все нормально, но дома программа в упор не видит клиентскую библиотеку - при коннекте с базой говорит, что библиотека не прописана в path, и рекомендует установить Firebird. На обоих ПК установлен Firebird 2.5.9 с корректной клиентской библиотекой. Гуглю, пытаюсь разобраться с LD_LIBRARY_PATH, но без успеха. Может ли кто подсказать, что можно еще посмотреть?

Добавлено спустя 1 минуту 33 секунды:
Разрядность Firebird везде 64бит, установлен на оба компа из тарболла.

Добавлено спустя 1 минуту 4 секунды:
Firebird library not found in the path. Please install Firebird to use this functionality


Добавлено спустя 10 минут 43 секунды:
Сейчас попробовал задать полный путь к библиотеке - помогло, правда всплыла проблема с правами доступа, назначение которых почему-то не помогает.
slyubez
постоялец
 
Сообщения: 174
Зарегистрирован: 31.03.2015 08:44:07

Re: IBX от Rik и путь к клиентской библиотеке

Сообщение RRYTY » 24.09.2023 17:23:27

Включение пользователя в группу firebird что-то дает?
RRYTY
постоялец
 
Сообщения: 208
Зарегистрирован: 25.12.2021 10:00:32

Re: IBX от Rik и путь к клиентской библиотеке

Сообщение slyubez » 24.09.2023 18:58:11

RRYTY писал(а):Включение пользователя в группу firebird что-то дает?

Признаюсь, не додумался до этого. Сейчас попробую.

Добавлено спустя 9 минут 42 секунды:
Сейчас попробую.

Ничего не дает.

Добавлено спустя 2 минуты 33 секунды:
С правами тоже разобрался. Не учел, что для Линукса нет FB Embedded, да и смысла его использовать на этой системе с ее правилами тоже нет.
slyubez
постоялец
 
Сообщения: 174
Зарегистрирован: 31.03.2015 08:44:07

Re: IBX от Rik и путь к клиентской библиотеке

Сообщение *Rik* » 24.09.2023 19:13:14

Обычно ни каких прав для клиентской библиотеки версии 2.* не требуется, всегда ложу её в папку с программой, в компонентах достаточно указать к ней путь. Единственное что приходит в голову, возможно есть ещё какие-то зависимости, без которых библиотека не загружается...
Аватара пользователя
*Rik*
постоялец
 
Сообщения: 451
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал

Re: IBX от Rik и путь к клиентской библиотеке

Сообщение slyubez » 24.09.2023 19:24:29

Обычно ни каких прав для клиентской библиотеки версии 2.* не требуется, всегда ложу её в папку с программой, в компонентах достаточно указать к ней путь.

Я имел в виду права на доступ к файлам БД. А ошибка из топика говорит о том, что путь к библиотеке не прописан в path, а как его туда корректно прописать, я так и не понял. Все же на пингвине библиотеки работают совершенно не так, как в винде. Может быть, для пользователя firebird есть отдельные пути для библиотек?

Добавлено спустя 1 минуту 9 секунд:
Ранние эксперименты с этими компонентами в Линуксе убедили меня, что полный путь к библиотеке прописывать не требуется. Однако сегодня у меня возник такой затык...
slyubez
постоялец
 
Сообщения: 174
Зарегистрирован: 31.03.2015 08:44:07

Re: IBX от Rik и путь к клиентской библиотеке

Сообщение svk12 » 24.09.2023 21:48:50

Попробуйте сделать символическую ссылку "libfbclient.so.2" для установленной либы в "/usr/lib64"
svk12
постоялец
 
Сообщения: 408
Зарегистрирован: 09.06.2008 18:42:47

Re: IBX от Rik и путь к клиентской библиотеке

Сообщение slyubez » 24.09.2023 21:52:19

Попробуйте сделать символическую ссылку "libfbclient.so.2" для установленной либы в "/usr/lib64"

На днях попробую. Я уже пробовал делать их в /usr/lib.
slyubez
постоялец
 
Сообщения: 174
Зарегистрирован: 31.03.2015 08:44:07

Re: IBX от Rik и путь к клиентской библиотеке

Сообщение svk12 » 24.09.2023 22:34:08

Разрядность должна соответствовать.
svk12
постоялец
 
Сообщения: 408
Зарегистрирован: 09.06.2008 18:42:47

Re: IBX от Rik и путь к клиентской библиотеке

Сообщение slyubez » 25.09.2023 12:11:42

Разрядность должна соответствовать.

Всё соответствует.
slyubez
постоялец
 
Сообщения: 174
Зарегистрирован: 31.03.2015 08:44:07

Re: IBX от Rik и путь к клиентской библиотеке

Сообщение RRYTY » 25.09.2023 12:42:31

slyubez писал(а): ... На работе все нормально, но дома ...


Исследуйте разницу конфигураций "дом/работа". Можно и костылей поднаставить, и скочем примотать, но лучше выяснить принцип - что не соответствует необходимым требованиям.
RRYTY
постоялец
 
Сообщения: 208
Зарегистрирован: 25.12.2021 10:00:32

Re: IBX от Rik и путь к клиентской библиотеке

Сообщение DedFrend » 26.09.2023 10:21:26

В зависимости от версии СУБД и ОС ibx может искать gds32 или fbclient
DedFrend
постоялец
 
Сообщения: 156
Зарегистрирован: 25.11.2018 12:21:50

Re: IBX от Rik и путь к клиентской библиотеке

Сообщение *Rik* » 26.09.2023 14:47:44

slyubez писал(а):
Обычно ни каких прав для клиентской библиотеки версии 2.* не требуется, всегда ложу её в папку с программой, в компонентах достаточно указать к ней путь.

ошибка из топика говорит о том, что путь к библиотеке не прописан в path, а как его туда корректно прописать, я так и не понял.

Путь что в Linux, что в Windwos прописывается одинаково, в редакторе компонента (см. скриншот). Больше ни чего не нужно.
Снимок экрана_2023-09-26_15-38-42.png


ps:
По умолчанию, там прописано: fbclient.so. Если не указан путь, то программа ищет файл с указанным именем в папке с программой.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
*Rik*
постоялец
 
Сообщения: 451
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал

Re: IBX от Rik и путь к клиентской библиотеке

Сообщение slyubez » 26.09.2023 23:26:32

Исследуйте разницу конфигураций "дом/работа". Можно и костылей поднаставить, и скочем примотать, но лучше выяснить принцип - что не соответствует необходимым требованиям.

Понимаю и занимаюсь этим. Но настроек много, и приходится спрашивать совета, что и где еще можно посмотреть.
Путь что в Linux, что в Windwos прописывается одинаково, в редакторе компонента (см. скриншот). Больше ни чего не нужно.

Я кое-чего не упомянул. В приложении производится динамическое создание компонентов IBX в отдельном классе, без их размещения на форме. Пришел к выводу, что лучше делать так, когда понадобилось написать бота для работы на сервере без графики, а в TIBDatabase по дефолту зашит визуальный англоязычный диалог ввода логина-пароля. Так что все свойства я прописываю полностью в коде после создания компонентов.

Добавлено спустя 3 минуты 27 секунд:
В зависимости от версии СУБД и ОС ibx может искать gds32 или fbclient

Лазаря я использую только для Линуксов. Для винды есть Delphi с FIBPlus. Код у меня единый, с кучей директив условной компиляции.
slyubez
постоялец
 
Сообщения: 174
Зарегистрирован: 31.03.2015 08:44:07

Re: IBX от Rik и путь к клиентской библиотеке

Сообщение DedFrend » 27.09.2023 09:59:36

По своему опыту скажу, что первое соединение с базой часто происходит через "пляски с бубном". И, поскольку потом все работает как часы, забываешь про свои мучения на первых порах.
Из советов общего плана.
Попробуйте соединиться с базой через isql или хотя бы gbak. Надо быть уверенным, что сам сервер работает.
Напишите минимальный код по открытию одной таблицы. Пусть он сначала заработает!
DedFrend
постоялец
 
Сообщения: 156
Зарегистрирован: 25.11.2018 12:21:50

Re: IBX от Rik и путь к клиентской библиотеке

Сообщение slyubez » 27.09.2023 15:10:22


Re: IBX от Rik и путь к клиентской библиотеке

Непрочитанное сообщение DedFrend » 27.09.2023 08:59:36
По своему опыту скажу, что первое соединение с базой часто происходит через "пляски с бубном". И, поскольку потом все работает как часы, забываешь про свои мучения на первых порах.
Из советов общего плана.
Попробуйте соединиться с базой через isql или хотя бы gbak. Надо быть уверенным, что сам сервер работает.
Напишите минимальный код по открытию одной таблицы. Пусть он сначала заработает!

Это как раз не проблема. Я еще раньше поставил Flamerobin из репозитория Минта, и как решил проблему с правами, соединение заработало. Также, после того, как был прописан полный путь к библиотеке, заработала и программа. Вопрос у меня был в другом: как в Минте 64бит приложение должно искать библиотеку, если прописать не полный путь, а только имя либы?
Вообще, как-то все это меня не радует... Первая версия этой проги на Delphi использовала Firebird Embedded с размещением библиотеки в каталоге с приложением, а базы - в любом месте, на какое у юзера есть права. В Windows такое поведение - норма. В Linux сложнее - библиотеки совсем в другом месте должны лежать. И увы, нету Firebird Embedded для Линукса - как раз из-за особенностей его разных семейств. Похоже, про портативный софт на нем можно и не думать.
slyubez
постоялец
 
Сообщения: 174
Зарегистрирован: 31.03.2015 08:44:07

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 15

Рейтинг@Mail.ru