|
|
|
FB-зоопарк на сервере. Как понять, почему грузится "не родная" libfbclient ?
|
|||
|---|---|---|---|
|
#18+
hi all На сервере установлено несколько ФБ-2.5.3, в том числе свежак (26788, в каталоге /opt/fb25sc) и более старый билд (26737, в каталоге /opt/fb25bak_sc). Все инстансы выключены, загружен только 26737. Подключаюсь к этому 26737, ввожу: Код: plaintext 1. 2. 3. 4. 5. 6. Вижу, что на самом деле он при старте загрузил библу от свежего ФБ (access metod). Хотя слушает он меня чем-то "своим, родным" (remote server). Вопрос. Не могу понять, почему он грузит новую библу. Вот симв. ссылки и файлы в lib-каталоге старого инстанса ФБ: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Вот path-каталоги, куда он может лазить в поисках библы: Код: plaintext 1. 2. 3. Но во всех этих "/usr/..." каталогах только одна библа, от трёшки: Код: plaintext 1. 2. Запускалка этого старого ФБ-инстанса: /etc/init.d/fbscbak_sc Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. PS. И еще вопрос. access method = движок; реализован в виде libfbclient.so.2.5.3 remote server = сетевой сервер; реализован в виде... чего ? remote interface = сетевой клиент (dll, с пом. которой лезу к серверу со своей клиекнтской машины) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2014, 09:37 |
|
||
|
FB-зоопарк на сервере. Как понять, почему грузится "не родная" libfbclient ?
|
|||
|---|---|---|---|
|
#18+
access method = libfbembed.so / libEngine12.so remote server = fbserver / fb_smp_server / firebird занафига ты прицепился к libfbclient.so непонятно, клиент у тебя вообще на винде и он грузится по виндовому PATH. Ищи почему твой fb_smp_server версии 26737 загрузил к себе в память libfbembed.so версии 26788. Похоже на проблемы с LD_LIBRARY_PATH. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2014, 10:17 |
|
||
|
FB-зоопарк на сервере. Как понять, почему грузится "не родная" libfbclient ?
|
|||
|---|---|---|---|
|
#18+
dimitraccess method = libfbembed.so / libEngine12.so <...> Ищи почему твой fb_smp_server версии 26737 загрузил к себе в память libfbembed.so версии 26788. Похоже на проблемы с LD_LIBRARY_PATH.У мну Код: plaintext Я правильно понимать, что при установке ФБ на 64-разр. *nix он будет искать библу НЕ в /usr/lib, а в /usr/lib 64 ? Ибо вот что вижу сейчас там: Код: plaintext 1. 2. 3. 4. Если причина именно в этом, то как запретить ему (26737) цепять библу, которая указана в /usr/lib64 - просто аннулировать этот симлинк или еще что-то ? И еще вопрос: для чего в /usr/lib64, помимо libfbembed.so, нужны еще libfbembed.so.2.5 и libfbembed.so.2.5.3 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2014, 12:58 |
|
||
|
FB-зоопарк на сервере. Как понять, почему грузится "не родная" libfbclient ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидУ мну Код: plaintext ты в скрипте запуска сервера добавляешь к нему $FIREBIRD/lib. Для запуска сервера без инсталлятора это правильно, если же сервер установлен инсталлятором, то ХЗ (есть ли там в /lib что-нибудь? или все скопировано в системный /lib?). ТаблоидЯ правильно понимать, что при установке ФБ на 64-разр. *nix он будет искать библу НЕ в /usr/lib, а в /usr/lib 64 ? см. выше свой LD_LIBRARY_PATH где он ищет. Будет и там искать. Таблоидкак запретить ему (26737) цепять библу, которая указана в /usr/lib64 - просто аннулировать этот симлинк или еще что-то ? добавить к LD_LIBRARY_PATH путь к нужной версии либы в скрипте запуска сервера ТаблоидИ еще вопрос: для чего в /usr/lib64, помимо libfbembed.so, нужны еще libfbembed.so.2.5 и libfbembed.so.2.5.3 ? это симлинки, чтобы при необходимости привязать свой софт к конкретной версии ФБ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2014, 13:21 |
|
||
|
FB-зоопарк на сервере. Как понять, почему грузится "не родная" libfbclient ?
|
|||
|---|---|---|---|
|
#18+
dimitrТаблоидУ мну Код: plaintext Код: plaintext 1. 2. 3. 4. Он, однако, при загрузке всё равно тащит библу от нового (26788-го) билда. Лезу в каталог /opt/fb25bak_sc/lib, ввожу там: Код: plaintext 1. 2. 3. 4. - т.е. никаких линков на каталог с новым билдом ("opt/fb25sc") тут нету. dimitrесли же сервер установлен инсталлятором, то ХЗ ( есть ли там в /lib что-нибудь? или все скопировано в системный /lib? ).Вот что показывает locate: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Ни один из этих каталогов не прописан в PATH, а LD_LIB_PATH в скрипте задана, как показано выше, явно. Какой из них я ставил инсталлятором - хз, не помню... вроде бы /opt/fb25 cs , но он стопудово не свежий, от декабря 2013. И для него (CS) в автозапуске нет xinet'a, я с ним не работаю. dimitrТаблоидкак запретить ему (26737) цепять библу, которая указана в /usr/lib64 - просто аннулировать этот симлинк или еще что-то ?добавить к LD_LIBRARY_PATH путь к нужной версии либы в скрипте запуска сервераНе помогает :'( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2014, 13:45 |
|
||
|
FB-зоопарк на сервере. Как понять, почему грузится "не родная" libfbclient ?
|
|||
|---|---|---|---|
|
#18+
cd /opt/fb25bak_sc/bin ldd ./fb_smp_server export LD_LIBRARY_PATH=/opt/fb25bak_sc/lib ldd ./fb_smp_server вывод в студию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2014, 13:57 |
|
||
|
FB-зоопарк на сервере. Как понять, почему грузится "не родная" libfbclient ?
|
|||
|---|---|---|---|
|
#18+
dimitr, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2014, 14:02 |
|
||
|
FB-зоопарк на сервере. Как понять, почему грузится "не родная" libfbclient ?
|
|||
|---|---|---|---|
|
#18+
Таблоидя намеренно заменил "сцепление" $FIREBIRD/lib и прежнего значения LD_LIB_PATH на указание только /одного /каталога: Это совершенно пофиг. LD_LIBRARY_PATH используется для указания дополнительных каталогов для поиска. Те, которые прописаны в конфиге лоадера будут просматриваться в любом случае. Линукс не рассчитан на одних профессионалов, защита от полного разрушения работоспособности всей системы экспортом одной переменной там таки предусмотрена. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2014, 14:03 |
|
||
|
FB-зоопарк на сервере. Как понять, почему грузится "не родная" libfbclient ?
|
|||
|---|---|---|---|
|
#18+
Так. Прояснилось. Получил ответ от nix-Источника Света. Ввиду его важности цитирую сюда, может кому еще когда-нить пригодится: Переписка Q & A Q: Распаковал вчера старый билд LI-V2.5.3.26737, прописал его в .etc/init.d, подправив, ес-сно, имя инстанса (задал такое: "fb25bak_sc") <. . .> Откудова старый ФБ может цеплять новый движок ? A: Firebird/linux (до версии 3) корректно работает _только_ в той директории которая была указана в --with-prefix при сборке. Всё остальное - в конечном счёте именно по этой причине. На вопрос как заставить его работать в другой директории ответ конкретный - НИКАК. Q: Ладно, это не проблема - скачаю из svn'a январскую версию сырцов и соберу в отд. каталог с указанием правильного --with-prefix. Но вопрос всё равно остался <. . .> LD_LIBRARY_PATH должен заставить его искать libfbembed именно в СВОЕМ каталоге, и ТОЛЬКО в нём: /opt/fb25bak_sc/lib Но в этом каталоге нет никаких намёков на путь к новому билду ("/opt/fb25sc", скрипт его запуска - тоже в аттаче, файл "fb25sc") Ооткудова скрипт-запускалка старого билда вообще "знает" про каталог "/opt/fb25sc", он где-то еще прописан был ? A: Этот скрипт тут совершенно не при чём. Он прописан во всех бинарниках при сборке с помощью ключа -Wl,-rpath,/opt/firebird/lib (каталог ест-нно берётся из prefix ). В общем, буду всё пересобирать заново нахрен :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2014, 14:11 |
|
||
|
FB-зоопарк на сервере. Как понять, почему грузится "не родная" libfbclient ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидОоткудова скрипт-запускалка старого билда вообще "знает" про каталог "/opt/fb25sc", он где-то еще прописан был ? Ну, блин, тебе что, недостаточно твоего же lrwxrwxrwx 1 root root 29 Jul 21 13:17 /usr/lib64/libfbembed.so -> /opt/fb25sc/lib/libfbembed.so ??? Какое ещё место прописки ты ищешь? /usr/lib(64) просматривается линковщиком в первую очередь. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2014, 14:27 |
|
||
|
FB-зоопарк на сервере. Как понять, почему грузится "не родная" libfbclient ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovТаблоидОоткудова скрипт-запускалка старого билда вообще "знает" про каталог "/opt/fb25sc", он где-то еще прописан был ?Ну, блин, тебе что, недостаточно твоего же lrwxrwxrwx 1 root root 29 Jul 21 13:17 /usr/lib64/libfbembed.so -> /opt/fb25sc/lib/libfbembed.so ??? Какое ещё место прописки ты ищешь?ну я же говорю: снёс оттуда все симлинки, относившиеся к 2.5, к ЧМ. Сейчас там во: Код: plaintext 1. 2. 3. 4. 5. Dimitry SibiryakovLD_LIBRARY_PATH используется для указания дополнительных каталогов для поиска. Те, которые прописаны в конфиге лоадера будут просматриваться в любом случае . Линукс не рассчитан на одних профессионалов, защита от полного разрушения работоспособности всей системы экспортом одной переменной там таки предусмотрена. . . . /usr/lib(64) просматривается линковщиком в первую очередь.Да, я понял. Спс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2014, 14:33 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38702825&tid=1563452]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 490ms |

| 0 / 0 |
