1

I'm trying to install Firebird client 3.0.4.33054 on a Windows client without using the installer.

Version on the server is the following:

C:\Program Files\Firebird\Firebird_3_0>gfix -z
gfix version WI-V3.0.4.33054 Firebird 3.0

I found this page:

Each remote client machine needs to have the client library – libfbclient.so on Posix clients, fbclient.dll on Windows clients – that matches the release version of the Firebird server.

Firebird can install symlinks or copies named after the 1.0 libs (with the “old” InterBase names), to maintain compatibility with third-party products which need these files.

Some extra pieces are also needed for the client-only install.

My client application uses FibPlus Library components, so I've copied (from a working client) these two files:

  • fbclient.dll (3.0.4.33054)
  • gds32.dll (6.3.4.33054)

I've tried placing the two files:

  • In the client application folder
  • In C:\Windows\SysWOW64
  • In C:\Windows\System32

When the client application tries to connect to the database, it raises the following exception message:

Can't load library gds32.dll

What am I missing? (Maybe that "Some extra pieces" mentioned by the documentation?)

Fabrizio
  • 7,603
  • 6
  • 44
  • 104

1 Answers1

0

I've resolved the problem.

My application is 32 bit and I was using the 64 bit version of the gds32.dll. I've placed the 32 bit version of the gds32.dll in the client application folder and it started working.

On several machines, the "Can't load library gds32.dll" error still occurs after placing the right version of the gds32.dll in the client application folder. In these cases, I've resolved by installing the Microsoft Visual C++ 2010 Redistributable Package:

Note: The fbclient.dll is not required by FibPlus Library components.

Fabrizio
  • 7,603
  • 6
  • 44
  • 104
  • 2
    With firebird, `gds32.dll` is just a renamed `fbclient.dll` (it is to provided for backwards compatibility with tools expecting the InterBase library gds32.dll). – Mark Rotteveel Jun 25 '19 at 12:18
  • @MarkRotteveel: Why they have slightly different version numbers? fbclient.dll (3.0.4.33054) and gds32.dll (6.3.4.33054) – Fabrizio Jun 25 '19 at 13:27
  • 3
    Firebird was forked from InterBase 6, and some tools did (or do) version checks if it was at least version 6, so for those purposes it reports itself as version 6.3.4 (where 3.4 indicates it is 3.0.4 iirc, the build number matches). Even in Firebird itself (and fbclient), some APIs report a 6.x.x version for backwards compatibility. – Mark Rotteveel Jun 25 '19 at 13:38
  • FibPlus should have the option to select a client library DLL name. But beware, the library seems to be abandoned. Or at least it was a case few months ago. – Arioch 'The Jun 25 '19 at 13:47
  • Yes, even on 64bit systems if your app is 32bit you need to load 32bit dll, also, I would like recommend using ibpp library for firebird client apps, if you are familiar with cpp. I am using it for years, old but great work, fast, stable, industrial grade, also good fb events handling. – Boki Jun 26 '19 at 12:18