Subject Re: [firebird-support] firebird mac libraries
Author Helen Borrie
At 03:32 PM 13/03/2008, you wrote:

>On another note - is this any different to Windows?

Yes. There are lots of differences between the embedded model on POSIX and the implementation done by Dmitry for Windows.

>We've always
>deployed fbembed.dll and used it for local access and also remote
>depending on the customer. I always understood that the embedded server
>on Windows was superserver?

Yes. And you *can* work it that way in the Windows model, because the library is Superserver + fblclient.dll, i.e., remote client. There is no "local client library" for Windows. A "local" connect on Windows is architecturally different to one on POSIX, as well.


>On POSIX platforms then, can libfbembed be used as a remote client?

Only if the server is localhost; otherwise you need 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.
>>
>Ok - happy to do this but I should probably make sure that I'm not just
>stuffing things up at my end before I do! I had a bit more of a poke
>around and I can't find any libfb* at all on the machine.... under
>/Library/Franeworks/Firebird.framework/Libraries there are the following;
>
>libib_util.dylib
>libcudata.dylib
>libcui18n.dylib
>libicuuc.dylib
>
>I'm a bit confused as to what isql is using to connect to things!

None of the above. :-) You will find libfbclient.dylib somewhere - like wherever the Mapples force packagers to put it. If you can hang on for a few hours, Paul Beach (who creates the Mac packages) or Philippe Makowski (who QAs them) will be able to tell you exactly where to look. You might find some clues on Paul's blog: http://paulbeachsblog.blogspot.com/ There's no index so you'll have to wade around a bit.


>> 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
>>
>>
>Ok - so for Firebird 2.0 and above support, libgds isn't needed

Correct

> - just
>libfbclient or libfbembed... in the release notes (p123) it seems to
>indicate that libgds is just a link to libfbclient or libfbembed?

OK - yes - it can be on some platforms, when legacy application support is needed. Don't get too confused about what's needed where though. If you're using the Firebird server's host machine as you development platform for remote clients, you'll need to take some steps to ensure that this "local" client application behaves like a remote one.

I'm not using the Qt layer at all but when I develop a Kylix client app on the server I make sure I have *both* localhost (127.1.1.1) and the machine's network IP address defined in /etc/hosts. (Ahem, that's probably not the location that Apple has for the hosts file but you get the idea...)

So, on my laptop hosts file I have

127.1.1.1 localhost
10.1.1.5 mini # the laptop's hostname
10.1.1.7 fluffy # another linux server in the network
10.1.1.10 babyblue # IBM Thinkpad museum piece w. Mandriva 10 in 256 Mb RAM
....
....
several more
....

Plus of course no hard-coded hostnames, IP addresses or database paths in the application code!!