[fpc-pascal] ibase package

Michael Van Canneyt michael at freepascal.org
Mon Nov 18 13:12:10 CET 2013



On Mon, 18 Nov 2013, Antonio Fortuny wrote:

>
> Le 18/11/2013 12:19, Michael Van Canneyt a écrit :
>> 
>> 
>> On Mon, 18 Nov 2013, Antonio Fortuny wrote:
>> 
>>> Hi Folks.
>>> 
>>> I'm a little bit annoyed by a boring specification in the fpc package. 
>>> When in a program I use the TIBConnection (along witha transaction and a 
>>> query), the compiled program looks for the local libfbclient when 
>>> establishing the connection.
>>> So far so good. When I install the program in another Linux box, running 
>>> Firebird 2.1, the program complains that
>>> "Can not load default Firebird clients ("libfbclient.so.2.5" or 
>>> "libgds.so" or "libfbembed.so.2.5")". Looks normal as this Linux box uses 
>>> Firebird 2.1
>>> Is it possible to force what library should be used instead ? (as UIB 
>>> does)
>>> Having a look inside the code, in ibase60 (lines 2680 and fw) library 
>>> names look fixed and looks like the Firebird version should be fixed 
>>> before using it.
>> 
>> You can do 2 things:
>> 
>> 1. use the TSQLDBLibraryLoader component from sqldblib (in trunk)
>> 
>> 2. call
>>    function InitialiseIBase60(Const LibraryName : AnsiString) : integer;
> found it in ibase60dyn.pp --> ibase60.inc
> before connecting to the DB:
>    InitialiseIBase60('libfbclient.so');
> compile on one system (OpenSuse x86_64), copy to the target system (Ubuntu 
> x86_64)
> target systemp library /usr/lib/libfbclient.so.2 copied in current directory 
> as libfbclient.so
> then run and:
> An unhandled exception occurred at $00000000004B544B :
> EInOutError : Can not load Firebird client library "libfbclient.so". Check 
> your installation.
>
> any comment ?

The current directory on linux is never searched. 
If you want that you must add a complete path.

Michael.


More information about the fpc-pascal mailing list