|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
rdb_dev, фразу про таблицу соответствия ты конечно же пропустил ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 12:07 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
rdb_devhvladЯ хочу записать в БД дату\время '12.5.2024 9:00' по Сингапурскому местному времени. Как мне в этом поможет моё UTC ?Зачем в БД хранить именно Сингапурское время?Мне, как клиенту, пофиг что и как хранит БД. Но мне же НЕ пофиг чтобы БД выдала мна обратно то, что я туда положил. И в том же самом виде. rdb_devВ этом может быть какой-то особый смысл только в случае, когда необходимо знать из какого часового пояса был клиент, из сессии которого была инициирована в БД запись со штампом времени.Я сохраняю время события, которое происходит в Сингапуре по местному времени. На кой чёрт мне время этого события в UTC ??? Ещё раз - я клиент и у меня нет возможности конвертировать время между таймзонами. rdb_devВенда до WinX как-то справлялась с приведением времени и без icu библиотек - своими силами.Как-то справлялась - это ты мягко пошутил. rdb_devСобственно, с этим прекрасно справляется любая нормальная операционная система.Ну давай, расскажи как это происходит - в необновляемой Windows - в обновляемой Windows - в обновляемом Linux rdb_devТеперь представим ситуацию, что в БД ты записал UTC+сингапурский_id, рассчитанный на 4 года вперёд, а в этой республике за 4 года правительство выкатило постановление об изменении часового пояса и так как, ПРЕДПОЛОЖИМ, администратор сервера или разработчик БД или разработчики СУБД не следили за постановлениями правительства Сингапура и за изменениями IANA таблицы часовых поясов, данные об этих изменениях попали только в регулярно обновляющуюся у сингапурского клиента ОС. И чо?Какие ко мне претензии, как к разработчику СУБД в этой ситуации ? Способов выстрелить себе в ногу - больше, чем ты можешь придумать. Но это не значит, что мы должны создавать новые. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 12:39 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Мимопроходящийкстати, в linux'е есть пакет tzdata. который содержит данные о часовых поясах всего мира и правилах перехода на летнее/зимнее время. он периодически обновляется, чтобы отразить изменения, принимаемые в различных странах. и ICU ему для этого нафиг не нужен, вообще-то. мухи отдельно, котлеты отдельно.ICU использует именно эти данные. И предоставляет ещё много связанных сервисов. ICU в любом случае используется на стороне сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 12:46 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
05.07.2019 12:46, hvlad пишет: > ICU использует именно эти данные. ну так и нахер тогда ICU на клиенте? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 12:53 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 12:59 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Мимопроходящий, вот если бы вместе с timezone_id передавалось ещё и смещение, то он был не бы нужен. А так по одному id смещение без ICU хрен узнаешь. Влад предложил ещё один вариант передавать не UTC + id, а преобразованное время + id. Собственно в этом варианте ICU всё равно может потребоваться, если надо будет преобразовать время к другому часовому поясу, но это более редкий случай. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 13:00 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
05.07.2019 13:00, Симонов Денис пишет: > Влад предложил ещё один вариант передавать не UTC + id, а преобразованное время + id. дык и я за это обеими ногами! передавать UTC - маразм. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 13:09 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Симонов Денисвот если бы вместе с timezone_id передавалось ещё и смещение, то он был не бы нужен. Влад и предлагал передавать их обеих. Симонов ДенисВлад предложил ещё один вариант передавать не UTC + id, а преобразованное время + id. Почему бы не решать это на этапе data coercion? Если приложение в sqltype запросило SQL_TIMESTAMP_TZ - получает (и отправляет) UTC+TZ, а если какой-нибудь SQL_LOCAL_TIMESTAMP_TZ - то локальное время + TZ. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 13:37 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovСимонов Денисвот если бы вместе с timezone_id передавалось ещё и смещение, то он был не бы нужен. Влад и предлагал передавать их обеих. тут rdb_dev за 2 байта сильно беспокоиться, а это ещё 2 байта добавить ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 13:48 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Мимопроходящийкстати, в linux'е есть пакет tzdata. который содержит данные о часовых поясах всего мира и правилах перехода на летнее/зимнее время. он периодически обновляется, чтобы отразить изменения, принимаемые в различных странах. и ICU ему для этого нафиг не нужен, вообще-то. мухи отдельно, котлеты отдельно. зы: только что прилетел пакет обновления. Имел секас с этим делом. Идея конечно правильная. Но, к сожалению, те люди которые принимают законы о подвижке временных поясов, принятия/отмене летнего/зимнего времени - нихрена про этот tzdata не знают и знать не хотят. Посему информация о реальных изменениях во временных поясах попадает в этот tzdata постфактум, причем через достаточно большое время. И тут у меня возникает вопрос - если при записи времени события с таймзоной эта зона определяется как локальное время + информация о временной зоне ПО ТЕКУЩЕЙ ИНФОРМАЦИИ в tzdata, то после того как информация в tzdata наконец-то поменялась - мы получим из базы другое время? Ну и в моем случае, на сервере стояла очень старая убунта к которой уже не было обновления. Текущий формат tzdata уже не подходит к той программе что была в убунте. Пришлось вручную обновить весь пакет. Однако и в свежайшем tzdata в информации по Новосибирску были неверные (т.е. устаревшие) данные. Пришлось тупо выбрать фиксированное смещение от GMT. Так что ваши надежды на то что где-то там хранится совершенно достоверная информация, мне кажется излишне оптимистичным. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 17:55 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Попробовал в субботу поставить себе четверку, скачал текущий линуксовый снапшот с офсайта, ставлю, получаю "не могу подхватить icu" обновил оную icu с 52 версии до 65, сейчас стоит вот такая: Нет кандидатов на обновление "icu-65.1-141.1.x86_64". Самая последняя версия уже установлена. Какую icu трэба файрберду 4.0? С тройкой ругани на icu не было ни со старой версией, ни с новой. Вернул тройку обратно, все завелось с полтычка. я понимаю, что сделал прыжок сразу на дюжину версий... перепрыгнул нужную? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2020, 12:23 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky, 6.3 Кто не может подхватить клиент или сервер? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2020, 12:48 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky Попробовал в субботу поставить себе четверку, скачал текущий линуксовый снапшот с офсайта, ставлю, получаю "не могу подхватить icu" Ivan_Pisarevsky обновил оную icu с 52 версии до 65, сейчас стоит вот такая: Нет кандидатов на обновление "icu-65.1-141.1.x86_64". Ivan_Pisarevsky Какую icu трэба файрберду 4.0? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2020, 12:51 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
hvlad Можешь найти точное имя файла любой из библиотек, например libicuinXXX.so ? hvlad Собирается с 63-ей, но и 65-я должна работать В текущем 7 центосе в репе вообще 50 лежит, некроманты, блин. hvlad Можно не придумывать свои сообщения об ошибках ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2020, 16:26 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
hvlad Можно не придумывать свои сообщения об ошибках ? Ну не первый день замужем же :( было Код: 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. 43. 44. 45. 46.
стало Код: 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.
Мои лыжи определенно не едут. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2020, 18:08 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky Код: plaintext
Попробуй сделать такие симлинки libicudata.so.65 libicuuc.so.65 libicui18n.so.65 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2020, 18:46 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Вот, например, официальные пакеты от ICU https://github.com/unicode-org/icu/releases/tag/release-65-1 что для федоры, что для убунты - нормальные единообразные имена libicuXXX.so libicuXXX.so.65 libicuXXX.so.65.1 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2020, 18:50 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
А вот имена без суффиксов (icuXXX.so) Firebird должен был подхватить, но там я вижу небольшую ошибку. Постараюсь исправить на днях. Правда, я не уверен, что это будет работать - но тут уже не к нам вопросы :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2020, 18:54 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
симлинки добавил, немного поменялась ошибка linux-p3is:/opt/Firebird-4.0.0.1766-Beta1.amd64 # ./install.sh Firebird 4.0.0.1766-Beta1.amd64 Installation Press Enter to start installation or ^C to abort Extracting install data Updated /etc/services Please enter new password for SYSDBA user: masterkey unable to open database Could not find acceptable ICU library Missing entrypoint ucnv_open in ICU library Error loading ICU library version 65.0 Install completed ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2020, 18:55 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky, а ты можешь посмотреть - там entrypoint'ы имеют суффиксы с версией, или нет ? Попробуй libicuuc ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2020, 18:58 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky, покажи nm -D libicuuc.so | grep ucnv_open ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 13:08 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
взял другой комп с текущей версией 15.1. была мысль, что 15.0 старьё, изначально была 60.2 поставил 65.1 linux-todu:/opt/Firebird-4.0.0.1766-Beta1.amd64 # ./install.sh Firebird 4.0.0.1766-Beta1.amd64 Installation Press Enter to start installation or ^C to abort Extracting install data Updated /etc/services Please enter new password for SYSDBA user: masterkey unable to open database Could not find acceptable ICU library Missing entrypoint ucnv_open in ICU library Error loading ICU library version 65.0 Install completed симлинков наделал на все лады linux-todu:/usr/lib64 # ls | grep libicu libicudata.so libicudata.so.60_2 libicudata.so.60.2 libicudata.so.65 libicudata.so.65_1 libicudata.so.65.1 libicudata.so.suse65.1 libicui18n.so libicui18n.so.60_2 libicui18n.so.60.2 libicui18n.so.65 libicui18n.so.65_1 libicui18n.so.65.1 libicui18n.so.suse65.1 libicuio.so libicuio.so.60_2 libicuio.so.60.2 libicuio.so.65 libicuio.so.65_1 libicuio.so.65.1 libicuio.so.suse65.1 libicutest.so libicutest.so.60_2 libicutest.so.60.2 libicutest.so.65 libicutest.so.65_1 libicutest.so.65.1 libicutest.so.suse65.1 libicutu.so libicutu.so.60_2 libicutu.so.60.2 libicutu.so.65 libicutu.so.65_1 libicutu.so.65.1 libicutu.so.suse65.1 libicuuc.so libicuuc.so.60_2 libicuuc.so.60.2 libicuuc.so.65 libicuuc.so.65_1 libicuuc.so.65.1 libicuuc.so.suse65.1 hvlad покажи nm -D libicuuc.so | grep ucnv_open 000000000007a780 T ucnv_open_65_1 0000000000080fb0 T ucnv_openAllNames_65_1 000000000007a860 T ucnv_openCCSID_65_1 000000000007a7b0 T ucnv_openPackage_65_1 00000000000801e0 T ucnv_openStandardNames_65_1 000000000007a7c0 T ucnv_openU_65_1 Сейчас под руками есть еще и виртуалка с 7 центос, и его помучаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 16:43 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky, спасибо. Оставь только libicuXXX.so.65_1 Буду думать, что с этим делать ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 17:05 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Если закинуть либы по ссылке, что ты постил выше на гитхаб, то там картинка чуть другая, но результат тот же. linux-todu:/usr/lib64 # nm -D libicuuc.so | grep ucnv_open 0000000000075f70 T ucnv_open_65 000000000007c160 T ucnv_openAllNames_65 0000000000076040 T ucnv_openCCSID_65 0000000000075fa0 T ucnv_openPackage_65 000000000007b490 T ucnv_openStandardNames_65 0000000000075fb0 T ucnv_openU_65 Есть какая либо дока что делать с ику? практические примеры? типа "бери дистр такой-то и вперед"... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 17:21 |
|
Firebird 4: Could not find acceptable ICU library
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky, я понятия не имею, почему suse распространяет свой "неправильный" ICU с "неправильными" суффиксами. Для того, чтобы Firebird смог его использовать, нужно сделать симлинки вида libicuXXX.so.65_1 Другие "свои" симлинки нужно убрать. Т.е. останутся только такие libicuXXX.so libicuXXX.so.65_1 libicuXXX.so.suse65.1 Если же ты хочешь поставить официальный пакет от ICU (который на гитхабе), то нужно удалить пакет от suse, убедиться что не осталось симлинков и развернуть пакет с гитхаба. Его Firebird должен подхватить без бубна. Если очень хочется докопаться до сути, то читать тут http://userguide.icu-project.org/design http://userguide.icu-project.org/packaging ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2020, 17:47 |
|
|
start [/forum/topic.php?fid=40&startmsg=39834297&tid=1560436]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
130ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
86ms |
get tp. blocked users: |
1ms |
others: | 302ms |
total: | 559ms |
0 / 0 |