[fpc-devel] Inconsistency detected in dynamic library
Hans-Peter Suter
gchappi at gmail.com
Mon Nov 16 12:45:49 CET 2009
When I execute a small program which links to a dynamic library, ld complains:
chappi at devmachine:/data/test/src/shlib$ ./TestExe
hello 42
Inconsistency detected by ld.so: dl-fini.c: 195: _dl_fini: Assertion
`ns != 0 || i == nloaded' failed!
This is on Debian Lenny (Free Pascal Compiler version 2.2.2
[2008/07/30] for i386
, GNU ld (GNU Binutils for Debian) 2.18.0.20080103). On my Mac the code works.
I do not have much experience with fpc (on linux) and dynamic
libraries and wanted to ask if there is something obvious which I do
wrong. And/or what next steps I should/could do?
(in google I found a similar problem
(http://www.mail-archive.com/fpc-pascal@lists.freepascal.org/msg12444.html)
but it doesn't help me).
The code is below. Thanks for tips and having a look!
Hans-Peter
--------- TestShlib.pas --
library TestShlib;
{$mode objfpc}{$H+}
uses
SysUtils;
function hello: integer; cdecl;
begin
result:= 42;
end;
exports hello;
begin
end.
--------- TestExe.pas --
program TestExe;
{$mode objfpc}{$H+}
uses
SysUtils;
function hello: integer; cdecl; external 'TestShlib';
begin
WriteLn( Format( 'hello %d', [hello()] ) );
end.
--------- compile/link --
fpc -CD TestShlib.pas -o./TestShlib.so
fpc -k"-R ." -k-lTestShlib TestExe.pas
More information about the fpc-devel
mailing list