[fpc-pascal] Searching for database libraries

Mark Morgan Lloyd markMLl.fpc-pascal at telemetry.co.uk
Sat Dec 8 20:17:32 CET 2012


Michael Van Canneyt wrote:
> On Fri, 7 Dec 2012, Mark Morgan Lloyd wrote:
> 
>> When using something like InitialisePostgres3(), if the approximate 
>> location of the database library (.so or .dll) is known, what's the 
>> most effective way of finding the exact file? Is there a single 
>> routine that does a recursive search?
> 
> No.
> 
>> The reason that I ask is that it appears that the most efficient way 
>> of getting libpq.dll for Windows is to install the ODBC drivers, and 
>> they go into a directory typically named like C:\Program 
>> Files\psql\ODBC\xxxx\bin where xxxx is a version number.
> 
> Maybe the installer writes something in the registry, in which case you 
> could try that first.

There's a problem with this on (at least some versions of) Windows: if 
you use InitialisePostgres3() it will find libpq.dll but not other 
libraries such as ssleay. A workable hack appears to be to cd to the 
directory that contains the DLLs before attempting to establish the 
database connection.

-- 
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]



More information about the fpc-pascal mailing list