[Lazarus] Cannot load libpq.so
Leonardo M. Ramé
l.rame at griensu.com
Wed Sep 26 16:52:49 CEST 2012
On 2012-09-26 07:42:29 +0200, zeljko wrote:
> On Tuesday 25 of September 2012 20:42:18 Leonardo M. Ramé wrote:
> > On 2012-09-25 20:35:43 +0200, Bernd wrote:
> > > 2012/9/25 Leonardo M. Ramé <l.rame at griensu.com>:
> > > > Do you know a way to know where's the loader looking for libraries?,
> > > > from command line.
> > >
> > > ldconfig --print-cache
> > >
> > > Your library should appear there if installed correctly
> > >
> > > --
> >
> > Here's the result of ldconfig:
> >
> > /sbin/ldconfig --print-cache|grep libpq
> > libpqwalreceiver.so (libc6) => /usr/local/pgsql/lib/libpqwalreceiver.so
> > libpq.so.5 (libc6) => /usr/local/pgsql/lib/libpq.so.5
> > libpq.so (libc6) => /usr/local/pgsql/lib/libpq.so
> >
> > It seems to be installed correctly.
>
> If you compiled it by yourself then something goes wrong probably. Maybe
> you've compiled 64bit lib and tried to load it with 32bit app ?
> You can easy test that. Create new application, include dynlibs and try to
> load that library in some event (eg. ButtonOnClick). According to your posts
> ld.conf contains valid entries and libpq.so is in the path, so something else
> is wrong .
>
> zeljko
>
I've made this simple program to test what's happening while loading
libpq.so.
Important: I must point out that I'm running FPC 2.7.1 on a Linux PowerPC
64 bits machine. And it works ok on an x86_64 Ubuntu PC.
The result I'm getting when calling "RaiseLastOSError" is this:
An unhandled exception occurred at $000000001001582C:
EOSError: An operating system call failed.
$000000001001582C
Here's the program:
program test;
{$mode objfpc}{$H+}
uses
sysutils,
dynlibs;
const
cLibrary = '/usr/local/pgsql/lib/libpq.so';
var
lHandle: TLibHandle;
begin
if not FileExists(cLibrary) then
begin
writeln('Library ' + cLibrary + ' does not exists.');
halt;
end;
lHandle := LoadLibrary(cLibrary);
if lHandle = 0 then
begin
writeln('Library not loaded');
RaiseLastOSError;
end;
end.
--
Leonardo M. Ramé
http://leonardorame.blogspot.com
More information about the Lazarus
mailing list