Subject Re: [firebird-support] firebird mac libraries
Author Helen Borrie
At 11:34 AM 13/03/2008, you wrote:
>Hello,
>
>I've installed Firebird 2.03 under Mac OS 10.4 and can run things like
>isql fine - in /Library/Frameworks/Firebird.framework/Resources/bin.
>
>I'm now trying to build the Qt IBASE / Firebird driver and am missing
>some libraries. Specifically libfbclient

is the Firebird client that comes with the Superserver model

>and libgds

--- SEE LATER NOTE.

> I can't seem to
>find these anywhere - they don't seem to be included in the Mac installer?

Be assured that, if you were able to open a database with isql, there is a definitely a firebird client around there somewhere ;-)

I'm therefore guessing that you used a local connection for your isql access and we can be certain therefrom that you've installed Classic, since the POSIX Superserver can't access databases locally. In that case, the client name you're looking for is libfbembed.so. libfbclient is the remote client. For production purposes there's no *need* to have a remote client available on the server but it won't hurt anything if you need to have it for your development work. You'll just need to be aware that you can't make local connections through libfbclient.

If you really can't persuade your Qt layer to link libfbembed, or you actually intend to develop on the server but deploy your application to remote clients then you *do need* the remote client lib. If it is really not aboard, you can get the SS package and extract the libfbclient library from it.

However...I thought our policy, at least since 2.0, has been to ship *both* client libs in all POSIX kits. If it turns out you have a Classic kit without it, you've probably detected an oversight in the build process, which you should report to avoid its being repeated in the forthcoming 2.0.4 and 2.1 releases. You can report it via the Tracker or directly into the firebird-devel list, as you prefer.

>Can anybody help with locating these or do I have to download the source
>and build them myself?

That's an option. But BE AWARE that a library named "libgds" can be one of 4 things:

1. The remote client that ships with InterBase Superserver
2. The embedded client/server that ships with InterBase Classic
3. The remote client that ships with Firebird 1.0.x
4. The embedded client/server that ships with Firebird 1.0.x Classic

So - know what you've got! if you need to support Firebird 1.0.x, you'll need the respective Firebird 1.0 versions of the two clients (confusingly both named libgds.so). From memory, you would need to get hold of the old Darwin package to obtain MacOSX-compatible libs.

>They do seem to be included in the Debian packages?

Debian flies by entirely its own rules - it's not an indicator of anything that pertains to the authorised Firebird kits. With Debian, you are *expected* to compile everything yourself.

As explained earlier, the authorised Linux Classic packages are meant to comply with our POSIX kit rules and ship both libraries - just because of the awkwardness otherwise for people who want to develop client apps and run the Classic server on the same host machine. If that didn't happen, make noise in appropriate places!

./heLen