Re: narwhal and PGDLLIMPORT

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Marco Atzeri <marco.atzeri@gmail.com>
Cc: Andres Freund <andres@2ndquadrant.com>, Andrew Dunstan <andrew@dunslane.net>, pgsql-hackers@postgresql.org
Date: 2014-02-16T17:57:46Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. MinGW: Link with shell32.dll instead of shfolder.dll.

  2. Centralize getopt-related declarations in a new header file pg_getopt.h.

  3. Get rid of use of dlltool in Mingw builds.

  4. Export a few more symbols required for test_shm_mq module.

  5. Export set_latch_on_sigusr1 symbol for Windows.

  6. Use SHGetFolderPath instead of SHGetSpecialFolderPath to find the

Marco Atzeri <marco.atzeri@gmail.com> writes:
> On 16/02/2014 15:43, Andres Freund wrote:
>> Could either of you try whether compiling with the attached hack fixes
>> anything on cygwin?

> on cygwin32 bit it works, but it stops later on
> -------------------------------------------
> sl -lcrypto -lz -lreadline -lcrypt -o psql.exe
> tab-complete.o:tab-complete.c:(.text+0xa98): undefined reference to 
> `rl_line_buffer'

> on cygwin 64bit, that I was not testing before,
> something is strange
> ------------------------------------------------------
>   -lintl -lssl -lcrypto -lcrypt -lldap -lwsock32 -lws2_32 -o postgres
> postmaster/postmaster.o:postmaster.c:(.rdata$.refptr.environ[.refptr.environ]+0x0): 
> undefined reference to `environ'

So what we currently know is that on cygwin, some of the core system
include files have been declspec'd, but others haven't; and headers
for third-party libraries like libxml and libreadline mostly haven't.

I'm starting to get the feeling that we're going to have to admit
defeat and not try to use --disable-auto-import on cygwin builds.
That platform is evidently not capable of supporting it.

We seem to be pretty nearly there on getting the MSVC and Mingw builds
to reliably complain about missing PGDLLIMPORTs, so maybe it's good
enough if those builds do it.

			regards, tom lane