Thread: Libpq problem on Windows.

Libpq problem on Windows.

From
"Dave Page"
Date:
I posted a message to pgsql-hackers-win32 regarding a problem with libpq
exports on Win32 the other day, but have yet to receive any replies.
Magnus & I have discussed the problem over IM and we both believe it is
important to fix, but neither of us are fluent enough in make-ese to do
so.

Basically the issue is that the symbols exported by the mingw build of
libpq.dll do not match those exported by the VC++/Borland builds. What
we seem to get is:

- Mingw exports *all* symbols appropiate for the given build.
- VC++/Borland builds appear to export only the published API, but not
the SSL related symbols (even with SSL enabled in the build).

I can probably sort the second problem by adding a second set of .def
files for SSL builds, however it seems to me that the mingw build should
not export all symbols. Whether or nt that is changed, the 2 build types
certainly need to be brought into sync otherwise Windows users may end
up seeing unexplained crashes.

Any comments on what should be done (and whether I should hack the
BCC/VC++ stuff)?

Regards, Dave.


Re: Libpq problem on Windows.

From
"Magnus Hagander"
Date:
Bruce, while we're pondering on how to solve this, can you put this up
on the open items list so we don't miss it? It's a pretty major issue.

//Magnus

> -----Original Message-----
> From: Dave Page [mailto:dpage@vale-housing.co.uk]
> Sent: Thursday, September 30, 2004 11:35 PM
> To: pgsql-hackers@postgresql.org
> Subject: [HACKERS] Libpq problem on Windows.
>
> I posted a message to pgsql-hackers-win32 regarding a problem
> with libpq exports on Win32 the other day, but have yet to
> receive any replies.
> Magnus & I have discussed the problem over IM and we both
> believe it is important to fix, but neither of us are fluent
> enough in make-ese to do so.
>
> Basically the issue is that the symbols exported by the mingw
> build of libpq.dll do not match those exported by the
> VC++/Borland builds. What we seem to get is:
>
> - Mingw exports *all* symbols appropiate for the given build.
> - VC++/Borland builds appear to export only the published
> API, but not the SSL related symbols (even with SSL enabled
> in the build).
>
> I can probably sort the second problem by adding a second set
> of .def files for SSL builds, however it seems to me that the
> mingw build should not export all symbols. Whether or nt that
> is changed, the 2 build types certainly need to be brought
> into sync otherwise Windows users may end up seeing
> unexplained crashes.
>
> Any comments on what should be done (and whether I should
> hack the BCC/VC++ stuff)?
>
> Regards, Dave.
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 8: explain analyze is your friend
>
>


Re: Libpq problem on Windows.

From
Bruce Momjian
Date:
OK, added:
       o fix MinGW libpq to export only required symbols       o fix MSVC build to export SSL symbols


---------------------------------------------------------------------------

Magnus Hagander wrote:
> Bruce, while we're pondering on how to solve this, can you put this up
> on the open items list so we don't miss it? It's a pretty major issue.
> 
> //Magnus 
> 
> > -----Original Message-----
> > From: Dave Page [mailto:dpage@vale-housing.co.uk] 
> > Sent: Thursday, September 30, 2004 11:35 PM
> > To: pgsql-hackers@postgresql.org
> > Subject: [HACKERS] Libpq problem on Windows.
> > 
> > I posted a message to pgsql-hackers-win32 regarding a problem 
> > with libpq exports on Win32 the other day, but have yet to 
> > receive any replies.
> > Magnus & I have discussed the problem over IM and we both 
> > believe it is important to fix, but neither of us are fluent 
> > enough in make-ese to do so.
> > 
> > Basically the issue is that the symbols exported by the mingw 
> > build of libpq.dll do not match those exported by the 
> > VC++/Borland builds. What we seem to get is:
> > 
> > - Mingw exports *all* symbols appropiate for the given build.
> > - VC++/Borland builds appear to export only the published 
> > API, but not the SSL related symbols (even with SSL enabled 
> > in the build).
> > 
> > I can probably sort the second problem by adding a second set 
> > of .def files for SSL builds, however it seems to me that the 
> > mingw build should not export all symbols. Whether or nt that 
> > is changed, the 2 build types certainly need to be brought 
> > into sync otherwise Windows users may end up seeing 
> > unexplained crashes.
> > 
> > Any comments on what should be done (and whether I should 
> > hack the BCC/VC++ stuff)?
> > 
> > Regards, Dave.
> > 
> > ---------------------------(end of 
> > broadcast)---------------------------
> > TIP 8: explain analyze is your friend
> > 
> > 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
> 
>                http://www.postgresql.org/docs/faqs/FAQ.html
> 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073