Thread: 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.
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 > >
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