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.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal