[fpc-pascal] UDF+FREEBSD+FIREBIRD
KES
kes-kes at yandex.ru
Fri Nov 14 23:49:33 CET 2008
Здравствуйте, Michael.
Вы писали 15 ноября 2008 г., 0:10:13:
MVC> On Fri, 14 Nov 2008, KES wrote:
>> Здравствуйте, Marc.
>>
>> Вы писали 13 ноября 2008 г., 21:43:38:
>>
>> MS> Am Donnerstag, den 13.11.2008, 18:59 +0200 schrieb KES:
>> >> Здравствуйте, Marc.
>> >>
>> >> Вы писали 12 ноября 2008 г., 23:12:43:
>>
>>
>> >> MS> Then I'd say the fault is clearly on the firebird side.
>> >>
>> >> MS> One last thing I'd try is to use another name (like with ld: using
>> >> MS> -lmine is searching for "libmine.so", not only "mine.so"), if that
>> >> MS> fails, too, it time for one of fpc's developers to comment or the
>> >> MS> firebird people to investigate.
>> >>
>> >> what do you mean?
>>
>> MS> Try to give your library another name, preferably not having the string
>> MS> "lib" in it. If the linker gets called it searches "libm" for a request
>> MS> to link to "m". But I do not think that'll help ...
>>
>> MS> Better would be to push the verbosity of firebirds error messages up
>> MS> (-vv or something like that) and investigate why it does not find the
>> MS> lib.
>>
>> MS> Best tools for this job are syscall loggers like ktrace/strace/truss/...
>> MS> (look in the ports tree), chances are good to find the problem in their
>> MS> logging output.
>>
>> MS> Marc
>>
>>
>> MS> _______________________________________________
>> MS> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
>> MS> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>>
>> I have tryied my example to compile in Delphi. Then I use DLL in
>> FireBird on Win32. All works fine. So my source file is good
>> and therefore FreePascal can not compile shared library that can be
>> recognized by FireBird (((
MVC> Did you specify cdecl as the calling convention for non-windows ?
MVC> If it works on windows, it almost surely does not work straight out
MVC> of the box on unices, because the calling convention will be wrong.
MVC> Michael.
This is last my try:
library MyUDF;
function somefn: integer; cdecl; export;
begin
somefn:= 3;
end;
exports
somefn name '_somefn';
end.
On win32 it works, on FreeBSD does not
--
С уважением,
KES mailto:kes-kes at yandex.ru
More information about the fpc-pascal
mailing list