Ставил Firebird на Centos8 Рабочий вариант 1) Готовый бинарник 4 версии, установленный и запущенный как приложение работает отлично, удаленный доступ есть Нерабочие варианты 2) Готовый бинарник 4 версии, запущенный как демон, работает но удаленного доступа нет 3) Готовый бинарник 5 версии, не устанавливается, говорит нужен tommath, который у меня стоит, я даже скомпилировал последнюю версию, результата нет 4) Исходники 4 и 5 версий версии, не конфигурируются без --without-termlib. С этой опцией конфигурируются и компилируются но останавливаются на линковке с неизвестной библиотекой "no" 5) Исходники 4 и 5 версий версий, Cmake вариант не может найти исходник при конфигурации: CMake Error at src/CMakeLists.txt:1029 (add_executable): Cannot find source file: misc/makeHeader.cpp В принципе рабочий вариант есть но он выглядит слегка убого, может другие способы можно оживить?
Можно, но придётся найти человека, разбирающегося в ЦентОСи. Хотя бы до уровня "прочитать логи и позапускать утилиты класса netstat, ps и далее по списку".
Firebird 3/4/5 зависят от ncurses5, tommath0 и требуют libicu (какая будет в системе). ncurses5 это ncurses-compat-libs ("в терминах" RH). Из некоторых (или уже всех?) дистрибутивов на базе RH9 этот пакет выпилен. tommath для RH ставится через epel и начиная с "новых" дистрибутивов (RH8+/Debian9+/Ubuntu18+) это будет tommath1. Оба пакета (ncurses и tommath) пока(?) сохраняют бинарную совместимость и поэтому делаем симлинк libtommath.so.0 на libtommath.so.1 - поиск правильного места и формирование команды оставляем в качестве домашнего упражнения. P.S. Если не выёживаться и ставить из тарбола, то и четвёрка и пятёрка, при необходимости, умеют создавать симлинк для tommath.
basid Спасибо большое! Протестю все. Но это прямо грязный хакинг какой-то - делать симлинки на библиотеки с другим soname.
Сделайте pull request для динамической загрузки имеющихся версий ncurses и libtommath. Решив все сопутствующие вопросы. ncurses, по факту, нужен только в isql и, может быть, в (устаревшем) gsec. Как-то так.
basid Наконец дошли руки, сразу что обнаружил все библиотеки и симлинки на месте, и tommath.0 И tommath.1 все есть и указывают корректно. ncurses5 Тоже из пакета ncurses-compat-libs уже стояла и libicu есть. Видимо я все это поставил автоматически ставя другие пакеты (тоже старые). Кстати что интересно проблема 2) когда тесттил была и на убунте (точнее на Минте), это вообще удивительно. порт занимается корректно, но приложение дает удаленный доступ, а сервис нет. PS Кстати случайно читая про демоны на Лазарусе обнаружил такую фразу: Keep in mind though, that many problems originate from security restrictions enforced by the operating system. Many of those restrictions are not applied when the daemon is run in user context Возможно в этом и дело?
Единственная разница между "приложением" и "сервисом" на линуксе - пользователь, в контексте которого они работают. Если вы изначально запустили "приложение" как root, то у "сервиса", вероятно, не будет доступа к FIREBIRD_LOCK (/tmp/firebird/) Ещё, вероятно, "сервис" у вас не может как следует высказаться, поскольку не имеет права создать/записать firebird.log (каталог $(root)/ в терминах firebird). Не выёживайтесь и ставьте из тарбола
basid Поставил 4 из скрипта, в конфигурации службы заменил права службы с группы firebird на рут (просто смена прав на файл базы не прокатило как вы и подозревали). Все заработало и как приложение и как сервис. Потом накатил 5 версию из тарбола, заменил security4.fdb на security5.fdb и все прошло отлично. Вопрос решен, спасибо огромное!
Вы точно ванильный Firebird устанавливете??? Его скрипты, если что, tar-ят существующую установку и "ставят с нуля". Менять security4.fdb на security5.fdb вообще не требуется.
Molochnik писал(а) Mon, 08 April 2024 12:10 в конфигурации службы заменил права службы с группы firebird на рут А чего заодно пароль рута всему миру не раздал ?
basid Абсолютно ванильную, и конфигурация ванильная, только RemoteAccess включаю. Я 5ю поставил без скрипта, просто разархивировал, а скрипт настраивает SYSDBA, без скрипта его в security5.fdb видимо нет. А скрипт 5й у меня не работает (проблема 3), но это мелочи.
Нечитатель, значит?
basid Может и читал когда то но забыл, базы вообще только с утилитарной точки зрения сейчас рассматриваю, работает и ладно
Если работает, то - ладно. А если не работает?
basid Решаю проблемы по мере их появления Кстати вернулся с 5 версии на 4-ю. Некоторых запросы с returning в 5ке выдают not null колонку с неизвестным типом, один запрос который был в виде INSERT INTO tableA (field1, fieldb) SELECT field1, fieldb FROM tableB RETURNING id я перефразировал в INSERT INTO tableA (field1, fieldb) VALUES (:field1, :fieldb) RETURNING id И он ошибку уже не выдает, но другой запрос в другом месте уже с чисто VALUES тоже выдает подобную же ошибку, его уже сходу я не знаю как переделать. Те же запросы в ibexpert работают отлично. Другие запросы с returning тоже отрабатываются корректно. Скорее всего виновата библиотека работы с базой, но ее переписывать или менять тексты запросов в некоторых(непонятно каких) местах не то чем бы я хотел заниматься в жизни.
Molochnik . Другие запросы с returning тоже отрабатываются корректно. Скорее всего виновата библиотека работы с базой о какой конкретно библиотеке речь? (просто любопытно)
МП Юнидак 8я версия, ошибки и в дельфи и в лазарусе
Molochnik МП Юнидак 8я версия, ошибки и в дельфи и в лазарусе не, такое ковырять - ну его нафиг. (даже если в маске и ластах)
МП вово
Molochnik писал(а) Wed, 10 April 2024 17:20 Некоторых запросы с returning в 5ке выдают not null колонку с неизвестным типом Multi-row RETURNING behaviour?