Hi all,
I'm trying to figure out the problem with compiling an extension DLL to
postgresql. I've downloaded the cygwin sources of postgresql 7.4.3-1,
and when linking with /usr/include/postgresql/server/postgres.h,
everything now compiles.
However, when I try to create the library (using libtool), I get an
error saying "cygwin dlls are not allowed to have unresolved symbols".
This is, I suspect, because such symbols as _pg_atoi are not defined.
I'm trying to figure out who I need to link with in order to get them
resolved. I figured out that they are exported by postgres.exe. When I
try to link with /usr/lib/libpostgres.a, I get an error:
*** Warning: Trying to link with static lib archive /usr/lib/libpostgres.a.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because the file extensions .a of this argument makes me believe
*** that it is just a static archive that I should not used here.
libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin
shared libraries
Any suggestions what I should do?
Also, I notice there are already quite a few DLLs already existing in
/usr/lib/postgresql. I suspect these are compiled as part of the
postgres build process. How do I trigger that process on cygwin?
Thanks,
Shachar
--
Shachar Shemesh
Lingnu Open Systems Consulting
http://www.lingnu.com/