ID:               47963
 Comment by:       aheckmann at m-s dot de
 Reported By:      cranderson at att dot net
 Status:           No Feedback
 Bug Type:         *Configuration Issues
 Operating System: Windows 2000
 PHP Version:      5.3.0RC1
 New Comment:

I have the same problem/error on Windows 2000 using the VC6 and the VC9
builds of 5.3.0.
"The procedure entry point getaddrinfo could not be located in the
dynamic link library WS2_32.dll."

In my opinion the above already mentioned document from microsoft
describes the solution to fix the problem for older windows versions
that don't have the getaddrinfo function with an inline function:

Support for getaddrinfo on older versions of Windows

The getaddrinfo function was added to the Ws2_32.dll on Windows XP and
later. 
To execute an application that uses this function on earlier versions
of Windows, then you need to include the Ws2tcpip.h and Wspiapi.h files.

When the Wspiapi.h include file is added, the getaddrinfo function is
defined to the WspiapiGetAddrInfo inline function in the Wspiapi.h file.

At runtime, the WspiapiGetAddrInfo function is implemented in such a
way that if the Ws2_32.dll or the Wship6.dll 
(the file containing getaddrinfo in the IPv6 Technology Preview for
Windows 2000) does not include getaddrinfo, 
then a version of getaddrinfo is implemented inline based on code in
the Wspiapi.h header file. 
This inline code will be used on older Windows platforms that do not
natively support the getaddrinfo function.

http://msdn.microsoft.com/en-us/library/ms738520%28VS.85%29.aspx

Will this be fixed, or is Win2k support dropped for php 5.3.x?

Thanks


Previous Comments:
------------------------------------------------------------------------

[2009-04-22 01:00:00] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".

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

[2009-04-16 20:19:36] cranderson at att dot net

Hi,

Sorry about the delay getting back to this issue (taxes crap).  Anyway,
the offending file in Win2000 Server/Pro and family is ws2_32.dll.  This
file is part of service pack 4.  It is NOT related to VC6/9, etc.  (I
have VC9 installed so that I can run the Apache distro from Apache
Lounge.)

It does not have the getaddrinfo function.  This link:

http://msdn.microsoft.com/en-us/library/ms738520(VS.85).aspx

describes the problem in detail.  Unfortunately, anything less than XP
service pack 2 will exhibit this behavior and will be unable to load PHP
5.3.  Microsoft is not going to update ws3_32.dll since it would involve
tearing out winsock and supporting files.  The file is always in use by
the OS, so I was unable to overwrite the DLL with a copy from 2003
server - maybe safe mode but I don't have the nerve.

Carl

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

[2009-04-14 11:04:26] matt...@php.net

I haven't used that tool before, so not exactly sure what I'm supposed
to check, sorry. :-/ But anyway, selecting WS2_32.DLL under PHP.EXE >
PHP5TS.DLL, the *addrinfo functions aren't in the bottom pane on 2000,
and in the upper pane, freeaddrinfo/getaddrinfo are red instead of green
on XP. Additionally, on 2000, the log area says "Error: At least one
module has an unresolved import due to a missing export function in an
implicitly dependent module."

Is that even close to anything you wanted to know...? A little lost in
this area, but if you give me instructions, hopefully I can help. :-)
(I'll be away for a bit now...)

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

[2009-04-14 10:23:51] paj...@php.net

Ok, I can't get a windows 2000 easily.

But reading again the error, it has nothing to do with the headers (we
use them correctly or it will not even compile) but with the fact that
your ws2 dll does not expose or contain getaddrinfo. Can you send verify
it using depends.exe please?

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

[2009-04-14 10:12:22] matt...@php.net

Yes, confirmed. I knew it worked with XP SP3, and since I can't get to
that 2000 system now, I just installed the 2008 runtime on an old 2000
laptop (same service pack and all) and tried the latest 5.3 snap. The
OP's error is the one I'm seeing.

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

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/47963

-- 
Edit this bug report at http://bugs.php.net/?id=47963&edit=1

Reply via email to