powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / firebird client 32bit 64bit
25 сообщений из 35, страница 1 из 2
firebird client 32bit 64bit
    #39259614
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
задолбала меня эта мешанина, хочу обсудить, прежде чем писать петиции трекеру.

Факт : на текущий момент имя 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битного варианта.
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259621
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

а что толку. Ну переименуются они сейчас, тут же потеряем обратную совместимость. Куча приложений откажутся работать. Далеко не в каждой библиотеки/драйвере можно указывать путь и имя файла fbclient. Т.е. в случае разделения fbclient по названиям придётся править ещё и все стандартные драйвера.
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259624
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 не считается.
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259625
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
64-битный однозначно переименовать.
как меньшее из двух зол.
ибо количество нативных 64-битных приложений, которые его юзают несоизмеримо меньше унаследованных 32-битных.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259632
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Hvlad!
You wrote on 21 июня 2016 г. 14:04:28:

Hvlad> x64 инсталлятор ставит обе библиотеки в систему.и потом видим такую пои пень:
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259637
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийибо количество нативных 64-битных приложений, которые его юзают несоизмеримо меньше унаследованных 32-битных.


А с учетом плодящихся x64 поделок в среде "которую тут никто не знает" - будет значительно меньше вопросов.
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259659
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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;

Всё работает.
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259667
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

а что штатный инсталятор не делает тоже самое?
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259672
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, 3.0, вроде как, делает, но у меня 2.5.6 и не стоит забывать, что библиотеки в снапшотах бывают более свежими, чем те, что деплоит инсталлер 3.0.
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259677
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисНу переименуются они сейчас, тут же потеряем обратную совместимость
я не предлагаю переименовывать. Я предлагаю, как минимум
- 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бит появились не вчера.
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259681
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvмы оба знаем, почему 64 в 32 а 32 в 64. А кто не знает - это ведь вынос мозга. К нам в поддержку до сих пор люди обращаются с проблемами разрядности odbc и клиента ФБ. Хотя, казалось бы, 64бит появились не вчера.
Мне слабать для них cmd скрипт, который автоматизирует процесс развертывания vcredist и библиотек FB?
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259684
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я за fbclient64.dll, только не как копию, а именно переименованную.
Чтобы fbclient.dll была 32-битной. Никакой "обратной совместимости",
как и её поломки, тут ИМХО нет, кому сильно надо - переименуют.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259685
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. И делать это надо было как раз к 3.0, хотя и щас не поздно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259686
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще-бы ключик в реестре, где какого клиента брать.
Из тех что установщик раскидал из своего дистрибутива.
А ibx под это допилить особого ума не нужно.
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259689
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvВот есть две папки, 32бит и 64бит. Как я в них клиента отличу?
А тебе не надо отличать. MS позаботилась чтобы приложения видели в System32 библиотеку
нужной им разрядности. Автомагически.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259696
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

нет. Делать это надо было ещё в 2.0, когда 64 битный fbclient только появился. А сейчас уже поздно метаться. Неужели вы думаете что за 10 лет появилось мало 64 битного софта?
Инсталятор и так ставит обе версии библиотеки. Я за то чтобы в снапшотах x64 была папка fbclient32 куда были бы положены все необходимые библиотеки для минимальной работы клиента.
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259699
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамP.S. И делать это надо было как раз к 3.0, хотя и щас не поздно.
К 3.0 надо было разобраться с подсистемой WinSxS и научиться правильно развертывать библиотеки FB в контейнер этой подсистемы.
https://msdn.microsoft.com/ru-ru/library/ms235342.aspx
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259702
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Симонов Денис!
You wrote on 21 июня 2016 г. 15:06:45:

Симонов Денис> Неужели вы думаете что за 10 лет появилось мало 64 битного софта?
мизер.
тьфу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259724
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devи научиться правильно развертывать библиотеки FB в контейнер этой подсистемы.
я как-то привык, что для установки ФБ мне не надо ничего развертывать или разворачивать, и даже устанавливать.
Просто распаковал zip в каталог, запустил, и все работает.
Ты просто не варишься в таких окружениях, в которых работаю я - когда на компе и ИБ и ФБ, когда ФБ и 32бит и 64бит, когда ставить фб инсталлятором нельзя, и т.д.
И ты мне (и людям) предлагаешь какие-то скрипты, которые ... что? Будут ломать уже установленных клиентов?

hvlad, есть еще вопрос. Допустим, я в инсталляторе 64бит указываю установить только клиента. В этом случае поставится 64 и 32 бит, в системные папки? А в реестр будет что-то прописано? (я могу посмотреть скрипт и сам, но потом).\
Симонов ДенисЯ за то чтобы в снапшотах x64 была папка fbclient32
ага, и я "за". а то инсталлер ставит, а в зипе нет этого.
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259730
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

да, но я за отдельную папку без переименования библиотеки. Просто сейчас fbclient тащит ещё кучу библиотек (как минимум icu) и тоже 32 битных. И имя у них тоже не отличается.
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259733
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvhvlad, есть еще вопрос. Допустим, я в инсталляторе 64бит указываю установить только клиента. В этом случае поставится 64 и 32 бит, в системные папки?Должны, как по мне. Ривза пытай -как оно на самом деле. Или скрипт инсталлера глянь, там всё просто.

kdvА в реестр будет что-то прописано?Уже сто лет как клиент ничего не ищет в реестре.
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259739
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv- чтобы в дистрибутивах и zip были КОПИИ fbclient.dll в виде fbclient32.dll и fbclient64.dllУмножим зоопарк на 3, ура (3 раза) !!! (три штуки)

kdvА так, при выпуске 64битной версии кто-то забил болт, не думая о последствиях.Нет. Подумали и всё сделал правильно. Ты видел разные имена для CRT, например ? Или хоть где-нибудь ?

kdvХорошо хоть 64бит инсталлятор правильные либы в правильные папки кладет. А если инсталлятором пользоваться нельзя, получается геморрой и непонятки.Если руки не мыть, будет не только геморрой.
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259744
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис> Делать это надо было ещё в 2.0

Ну ты ещё скажи "изначально правильно".
Надо реально смотреть на вещи, на сегодня.

> Я за то чтобы в снапшотах x64 была папка fbclient32

Зачем? Так можно требовать и в снашоты-32 класть
всё 64-битного клиента. Кому нужно 64 - скачают 64.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259751
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

сейчас склоняюсь к тому что да, правильно.
Современный fbclient имеет зависимости от других библиотек, т.е. это вовсе не одна длл которую закинул и всё заработало. Предлагаешь всем этим библиотекам тоже префиксы наклепать?
...
Рейтинг: 0 / 0
firebird client 32bit 64bit
    #39259754
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис> сейчас склоняюсь к тому что да, правильно.

Ты уж определись - либо "правильно", либо "надо было в 2.0 по уму".

> Предлагаешь всем этим библиотекам тоже префиксы наклепать?

Нет, отделить нужное, чтобы было очевидно сразу.
Чтобы не переименовать - ну сделать папку fbclient64,
например, в которую покласть всё нужное.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / firebird client 32bit 64bit
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]