|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
задолбала меня эта мешанина, хочу обсудить, прежде чем писать петиции трекеру. Факт : на текущий момент имя fbclient.dll 32бит и 64бит идентично. И определить битность мы можем только специальными тулзами, которые сходу еще и просто так не найдешь. Последствия : Если установлен 64битный сервер, то 32битные приложения, понятно, не работают с этой либой. И надо где-то искать 32битный fbclient.dll. Впрочем, наоборот (32бит сервер и 64бит приложения) та же проблема. У InterBase с этим все куда проще. У них и так 32битная либа была gds32.dll, а при выпуске 64бит редакции ее обозвали ibclient64.dll. Предлагаю, хотя бы как минимальную задачу - поставляемый в дистре (и zip) fbclient.dll там же в дистре копировать в fbclient64.dll и fbclient32.dll соответственно, чтобы оно прямо там же в bin и лежало (не в момент установки, а заранее). Тут возникает вопрос. Надо-ли, чтобы 32битный инсталлятор ставил опционально 64битного клиента, и наоборот? Если да, то куда его ставить - в отдельную папку? Эту фигню надо было решать еще давно. Хотя бы обозвать fbclient64.dll. А сейчас, например, odbc-драйвер точно так же может "запутаться" с битностью dll. И проблема в том, что сообщение об ошибке, как и везде - "не могу загрузить fbclient.dll". Почему? А не могу, и все. p.s. я еще одну запредельную шизню приведу: в 64битном ФБ есть instclient.exe, как и в 32битном. Так вот, он работает точно так же, как и 32битный. Т.е. при instclient i g превращает fbclient.dll (64битный) в ... gds32.dll ! Которая на самом деле 64битная! Ужос. Либо instclient из 64битного дистра надо убирать вообще, либо отрубать ему опцию "i g" для 64битного варианта. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 13:54 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
kdv, а что толку. Ну переименуются они сейчас, тут же потеряем обратную совместимость. Куча приложений откажутся работать. Далеко не в каждой библиотеки/драйвере можно указывать путь и имя файла fbclient. Т.е. в случае разделения fbclient по названиям придётся править ещё и все стандартные драйвера. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 14:00 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
kdvЕсли установлен 64битный сервер, то 32битные приложения, понятно, не работают с этой либой. И надо где-то искать 32битный fbclient.dllx64 инсталлятор ставит обе библиотеки в систему. kdvПредлагаю, хотя бы как минимальную задачу - поставляемый в дистре (и zip) fbclient.dll там же в дистре копировать в fbclient64.dll и fbclient32.dll соответственноУже говорили об этом 100500 раз. Приложения, слинкованные с fbclient никто переписывать не будет, и линковаться с разными библиотеками в зависимости от разрядности приложения - маразм. kdvИ проблема в том, что сообщение об ошибке, как и везде - "не могу загрузить fbclient.dll". Почему? А не могу, и все.Пиши в MS, чтобы они оригинальную ошибку загрузчика не теряли в LoadLibrary kdvв 64битном ФБ есть instclient.exe, как и в 32битном. Так вот, он работает точно так же, как и 32битный. Т.е. при instclient i g превращает fbclient.dll (64битный) в ... gds32.dll ! Которая на самом деле 64битная! УжосТа ты шо ! Ужас или ужас-ужас ? PS Приведи пример хотя бы одной распространённой библиотеки, имеющий разные имена в зависимости от разрядности. Маразм от IB не считается. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 14:03 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
64-битный однозначно переименовать. как меньшее из двух зол. ибо количество нативных 64-битных приложений, которые его юзают несоизмеримо меньше унаследованных 32-битных. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 14:04 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
Hello, Hvlad! You wrote on 21 июня 2016 г. 14:04:28: Hvlad> x64 инсталлятор ставит обе библиотеки в систему.и потом видим такую пои пень: ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 14:07 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
Мимопроходящийибо количество нативных 64-битных приложений, которые его юзают несоизмеримо меньше унаследованных 32-битных. А с учетом плодящихся x64 поделок в среде "которую тут никто не знает" - будет значительно меньше вопросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 14:09 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
kdv, делаю следующим образом: 1. Разворачиваю в систему наборы библиотек vcredist_x86.exe и vcredist_x64.exe с версией 8.0.50727.6195; 2. Из 64 и 32-битного снапшотов FirebirdSQL выдергиваю библиотеки fbclient.dll и fbembed.dll; 3. 64-битные библиотеки кладу в %SystemRoot%\System32, а 32-битные - в %SystemRoot%\SysWOW64; Всё работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 14:35 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
rdb_dev, а что штатный инсталятор не делает тоже самое? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 14:40 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
Симонов Денис, 3.0, вроде как, делает, но у меня 2.5.6 и не стоит забывать, что библиотеки в снапшотах бывают более свежими, чем те, что деплоит инсталлер 3.0. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 14:44 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
Симонов ДенисНу переименуются они сейчас, тут же потеряем обратную совместимость я не предлагаю переименовывать. Я предлагаю, как минимум - 64бит клиенту дать альтернативное имя fbclient64.dll, чтобы новый инсталлятор его сразу копировал куда надо, и чтобы, например, ODBC драйвер, 64битный, в первую очередь искал именно этот файл, а уж потом fbclient.dll, если "не повезло". - чтобы в дистрибутивах и zip были КОПИИ fbclient.dll в виде fbclient32.dll и fbclient64.dll hvladx64 инсталлятор ставит обе библиотеки в систему. то есть, мы получаем два fbclient.dll, в разных папках. А если без инсталлятора? Вот есть две папки, 32бит и 64бит. Как я в них клиента отличу? hvladПриложения, слинкованные с fbclient никто переписывать не будет, и линковаться с разными библиотеками в зависимости от разрядности приложения - маразм. переписывать не надо. надо добавить копию в виде fbclient64.dll, и уже новые версии компилировать с использованием этой либы. И почему маразм, собственно? По-моему, одинаковое имя для dll разной битности - как раз это и есть маразм. Собственно, маразмом у Интербэйза было бы gds32.dll компилировать 64битной. И ЕСЛИ БЫ fbclient.dll изначально был fbclient32.dll, то сейчас бы ты ни про какой "маразм" и слова не сказал. Потому что 64битный клиент был бы или fbclient.dll, или fbclient64.dll. А так, при выпуске 64битной версии кто-то забил болт, не думая о последствиях. Хорошо хоть 64бит инсталлятор правильные либы в правильные папки кладет. А если инсталлятором пользоваться нельзя, получается геморрой и непонятки. hvladТа ты шо ! не, ну а что - нормально так. получаем 64битный gds32.dll, который никто использовать не может. rdb_dev64-битные библиотеки кладу в %SystemRoot%\System32, а 32-битные - в %SystemRoot%\SysWOW64; мы оба знаем, почему 64 в 32 а 32 в 64. А кто не знает - это ведь вынос мозга. К нам в поддержку до сих пор люди обращаются с проблемами разрядности odbc и клиента ФБ. Хотя, казалось бы, 64бит появились не вчера. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 14:46 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
kdvмы оба знаем, почему 64 в 32 а 32 в 64. А кто не знает - это ведь вынос мозга. К нам в поддержку до сих пор люди обращаются с проблемами разрядности odbc и клиента ФБ. Хотя, казалось бы, 64бит появились не вчера. Мне слабать для них cmd скрипт, который автоматизирует процесс развертывания vcredist и библиотек FB? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 14:49 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
Я за fbclient64.dll, только не как копию, а именно переименованную. Чтобы fbclient.dll была 32-битной. Никакой "обратной совместимости", как и её поломки, тут ИМХО нет, кому сильно надо - переименуют. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 14:53 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
P.S. И делать это надо было как раз к 3.0, хотя и щас не поздно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 14:53 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
Еще-бы ключик в реестре, где какого клиента брать. Из тех что установщик раскидал из своего дистрибутива. А ibx под это допилить особого ума не нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 14:54 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
kdvВот есть две папки, 32бит и 64бит. Как я в них клиента отличу? А тебе не надо отличать. MS позаботилась чтобы приложения видели в System32 библиотеку нужной им разрядности. Автомагически. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 14:56 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, нет. Делать это надо было ещё в 2.0, когда 64 битный fbclient только появился. А сейчас уже поздно метаться. Неужели вы думаете что за 10 лет появилось мало 64 битного софта? Инсталятор и так ставит обе версии библиотеки. Я за то чтобы в снапшотах x64 была папка fbclient32 куда были бы положены все необходимые библиотеки для минимальной работы клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 15:03 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамP.S. И делать это надо было как раз к 3.0, хотя и щас не поздно. К 3.0 надо было разобраться с подсистемой WinSxS и научиться правильно развертывать библиотеки FB в контейнер этой подсистемы. https://msdn.microsoft.com/ru-ru/library/ms235342.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 15:05 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
Hello, Симонов Денис! You wrote on 21 июня 2016 г. 15:06:45: Симонов Денис> Неужели вы думаете что за 10 лет появилось мало 64 битного софта? мизер. тьфу. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 15:07 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
rdb_devи научиться правильно развертывать библиотеки FB в контейнер этой подсистемы. я как-то привык, что для установки ФБ мне не надо ничего развертывать или разворачивать, и даже устанавливать. Просто распаковал zip в каталог, запустил, и все работает. Ты просто не варишься в таких окружениях, в которых работаю я - когда на компе и ИБ и ФБ, когда ФБ и 32бит и 64бит, когда ставить фб инсталлятором нельзя, и т.д. И ты мне (и людям) предлагаешь какие-то скрипты, которые ... что? Будут ломать уже установленных клиентов? hvlad, есть еще вопрос. Допустим, я в инсталляторе 64бит указываю установить только клиента. В этом случае поставится 64 и 32 бит, в системные папки? А в реестр будет что-то прописано? (я могу посмотреть скрипт и сам, но потом).\ Симонов ДенисЯ за то чтобы в снапшотах x64 была папка fbclient32 ага, и я "за". а то инсталлер ставит, а в зипе нет этого. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 15:28 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
kdv, да, но я за отдельную папку без переименования библиотеки. Просто сейчас fbclient тащит ещё кучу библиотек (как минимум icu) и тоже 32 битных. И имя у них тоже не отличается. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 15:35 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
kdvhvlad, есть еще вопрос. Допустим, я в инсталляторе 64бит указываю установить только клиента. В этом случае поставится 64 и 32 бит, в системные папки?Должны, как по мне. Ривза пытай -как оно на самом деле. Или скрипт инсталлера глянь, там всё просто. kdvА в реестр будет что-то прописано?Уже сто лет как клиент ничего не ищет в реестре. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 15:40 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
kdv- чтобы в дистрибутивах и zip были КОПИИ fbclient.dll в виде fbclient32.dll и fbclient64.dllУмножим зоопарк на 3, ура (3 раза) !!! (три штуки) kdvА так, при выпуске 64битной версии кто-то забил болт, не думая о последствиях.Нет. Подумали и всё сделал правильно. Ты видел разные имена для CRT, например ? Или хоть где-нибудь ? kdvХорошо хоть 64бит инсталлятор правильные либы в правильные папки кладет. А если инсталлятором пользоваться нельзя, получается геморрой и непонятки.Если руки не мыть, будет не только геморрой. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 15:44 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
Симонов Денис> Делать это надо было ещё в 2.0 Ну ты ещё скажи "изначально правильно". Надо реально смотреть на вещи, на сегодня. > Я за то чтобы в снапшотах x64 была папка fbclient32 Зачем? Так можно требовать и в снашоты-32 класть всё 64-битного клиента. Кому нужно 64 - скачают 64. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 15:53 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, сейчас склоняюсь к тому что да, правильно. Современный fbclient имеет зависимости от других библиотек, т.е. это вовсе не одна длл которую закинул и всё заработало. Предлагаешь всем этим библиотекам тоже префиксы наклепать? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 16:00 |
|
firebird client 32bit 64bit
|
|||
---|---|---|---|
#18+
Симонов Денис> сейчас склоняюсь к тому что да, правильно. Ты уж определись - либо "правильно", либо "надо было в 2.0 по уму". > Предлагаешь всем этим библиотекам тоже префиксы наклепать? Нет, отделить нужное, чтобы было очевидно сразу. Чтобы не переименовать - ну сделать папку fbclient64, например, в которую покласть всё нужное. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2016, 16:05 |
|
|
start [/forum/moderation_log.php?user_name=vovan_k]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 685ms |
total: | 856ms |
0 / 0 |