* Attempt to load .so.2. Fixes issue #40495

This commit is contained in:
Michaël Van Canneyt 2023-11-03 17:02:14 +01:00
parent 25c75b1784
commit 9197def8cc

View File

@ -55,6 +55,7 @@ uses Dynlibs,ctypes;
const const
gdslib = 'gds32.dll'; gdslib = 'gds32.dll';
fbclib = 'fbclient.dll'; fbclib = 'fbclient.dll';
fbclib2 = fbclib;
fbembedlib = 'fbembed.dll'; fbembedlib = 'fbembed.dll';
libfc = fbclib; libfc = fbclib;
libem = fbembedlib; libem = fbembedlib;
@ -2528,7 +2529,7 @@ implementation
ResourceString ResourceString
SErrEmbeddedFailed = 'Can not load embedded Firebird client "%s". Check your installation.'; SErrEmbeddedFailed = 'Can not load embedded Firebird client "%s". Check your installation.';
SErrDefaultsFailed = 'Can not load default Firebird clients ("%s" or "%s" or "%s"). Check your installation.'; SErrDefaultsFailed = 'Can not load default Firebird clients ("%s", "%s", "%s", "%s" or "%s"). Check your installation.';
SErrLoadFailed = 'Can not load Firebird client library "%s". Check your installation.'; SErrLoadFailed = 'Can not load Firebird client library "%s". Check your installation.';
SErrAlreadyLoaded = 'Firebird interface already initialized from library %s.'; SErrAlreadyLoaded = 'Firebird interface already initialized from library %s.';
@ -2754,9 +2755,12 @@ begin
If (TryInitialiseIBase60(fbembedlib)=0) and If (TryInitialiseIBase60(fbembedlib)=0) and
(TryInitialiseIBase60(libem)=0) and (TryInitialiseIBase60(libem)=0) and
(TryInitialiseIBase60(fbclib)=0) and (TryInitialiseIBase60(fbclib)=0) and
{$IFDEF UNIX}
(TryInitialiseIBase60(fbclib2)=0) and
{$ENDIF}
(TryInitialiseIBase60(libfc)=0) and (TryInitialiseIBase60(libfc)=0) and
(TryInitialiseIBase60(gdslib)=0) then (TryInitialiseIBase60(gdslib)=0) then
Raise EInOutError.CreateFmt(SErrDefaultsFailed,[fbclib,gdslib,fbembedlib]); Raise EInOutError.CreateFmt(SErrDefaultsFailed,[fbclib,fbclib2,libfc,gdslib,fbembedlib]);
end; end;
Result := RefCount; Result := RefCount;
end; end;