Skip site navigation (1) Skip section navigation (2)

[ psqlodbc-Bugs-1010862 ] Will not run on Windows 2000 and older, missing symbols

From: <noreply(at)pgfoundry(dot)org>
To: noreply(at)pgfoundry(dot)org
Subject: [ psqlodbc-Bugs-1010862 ] Will not run on Windows 2000 and older, missing symbols
Date: 2010-09-23 03:56:03
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-odbc
Bugs item #1010862, was opened at 2010-08-05 18:20
You can respond by visiting:

Category: None
Group: None
Status: Open
Resolution: None
Priority: 3
Submitted By: Darrell Walisser (mediak)
Assigned to: Nobody (None)
Summary: Will not run on Windows 2000 and older, missing symbols

Initial Comment:
psqlODBC version: 8.04 0200

Attempting to use the driver under Windows 2000 in ODBC driver manager yields this:

"The setup routines for the PostgreSQL ANSI ODBC driver could not be loaded due to system error code 127"

then another dialog:

"Driver's ConfigDSN, ConfigDriver, or ConfigTranslator failed"
"Could not load the setup or translator library"

I turns out that the psqlodbc*.dll is missing these symbols in WS_32.dll: freeaddrinfo, getaddrinfo, getnameinfo

This article explains why they are missing, these were added in XP but there is a trick to make them work in earlier versions. Basically this could be fixed with a recompile. I could not compile with VS6 but I am having a go with Visual Studio Express 2008 (I usually use mingw for all Windows development so this may not work).


>Comment By: Hiroshi Inoue (hinoue)
Date: 2010-09-23 03:56

Though I did nothing in my environment, you had better 
include Wspiapi.h in socket.c according to the following 
patch so as to make sure the support of the backward-
compatibility version of getaddrinfo() family.

*** ../psqlodbc/socket.c        2010-05-26 20:41:50.870000000 +0900
--- ./socket.c  2010-09-23 00:30:24.388000000 +0900
*** 33,38 ****
--- 33,39 ----

  #ifdef WIN32
  #include <time.h>
+ #include <Wspiapi.h>
  #include <stdlib.h>
  #include <string.h>                           /* for memset */


Comment By: Cesare Leonardi (celeonar)
Date: 2010-09-22 20:17

I've tried 8.4.0202 as suggested by Hiroshi, installing over 8.4.0100, and for me it works, even with SSL.
I've done only basic tests so far.

Hiroshi, can i ask you how do you have resolved the WS_32.dll problem? With Win2000 i'm facing error with this DLL with an increasing number of open source programs. Clearly it's an obsolete os that many developer cannot test anymore, so i can try to propose your solution (i.e. to qemu).
What compiler are you using?

Thank you for your work.



Comment By: Hiroshi Inoue (hinoue)
Date: 2010-09-22 15:36

Could you please try the drivers on testing for 8.4.0202 at


Comment By: Cesare Leonardi (celeonar)
Date: 2010-09-19 21:14

I can confirm this bug: 8.04 0200 under Win2000 SP4 gives the same error as Darrel and also for me the previous 0100 works. At least one step further, since SSL is not activable, but it's another story...



Comment By: Darrell Walisser (mediak)
Date: 2010-08-05 18:43

I discovered that rolling back to 804_0100 solves the
problem, for now. I hope this works as well as 0804_0200.


You can respond by visiting:

pgsql-odbc by date

Next:From: noreplyDate: 2010-09-24 03:59:45
Subject: [ psqlodbc-Bugs-1010837 ] 2000 is returned instead of actual info for char column octet length and column size
Previous:From: noreplyDate: 2010-09-22 20:17:04
Subject: [ psqlodbc-Bugs-1010862 ] Will not run on Windows 2000 and older, missing symbols

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group