[fpc-pascal] UDF+FREEBSD+FIREBIRD

KES kes-kes at yandex.ru
Sat Nov 15 16:20:15 CET 2008


Здравствуйте, Michael.

Вы писали 15 ноября 2008 г., 12:23:55:



MVC> On Sat, 15 Nov 2008, KES wrote:

>> Здравствуйте, Michael.
>> 
>> Вы писали 15 ноября 2008 г., 2:52:48:
>> 
>> 
>> 
>> MVC> On Sat, 15 Nov 2008, KES wrote:
>> 
>> >> Здравствуйте, Michael.
>> 
>> MVC> Zdravstvuyte...
>> 
>> >> >> 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
>> 
>> MVC> I compiled the library, and checked the contents:
>> 
>> home: >>objdump -t libmyudf.so  
>> 
>> MVC> 00004a20 g     F .text  00000005 _somefn
>> 
>> MVC> So the symbol is present, as you declared it in your library. 
>> MVC> That part seems OK.
>> 
>> MVC> How do you declare your function in Firebird ?
>> MVC> Does it have the _ ? 
>> MVC> and the correct casing ?
>> 
>> MVC> Michael.
>> 
>> I have tryied with and without _
>> 
>> DECLARE EXTERNAL FUNCTION FNTEST
>>   RETURNS INTEGER
>>   ENTRY_POINT 'somefn'
>>   MODULE_NAME 'myudf'
>> 
>> 
>> DECLARE EXTERNAL FUNCTION FNTEST
>>   RETURNS INTEGER
>>   ENTRY_POINT '_somefn'
>>   MODULE_NAME 'myudf'

MVC> Did you try changing the name myudf to libmyudf.so or libmyudf ?
MVC> I don't think that the 'lib' is prefixed automatically.

MVC> Michael.

Yes I did, Marc Santhoff advice me this on 13 Novemter

-- 
С уважением,
 KES                          mailto:kes-kes at yandex.ru




More information about the fpc-pascal mailing list