Subject: Re: atoi() missing on Win98, perl extension breaks
From: "Gerrit P. Haase" <[email-masked]>
To: Yitzchak Scott-Thoennes <[email-masked]>
Cc: [email-masked]
Date: Tue, 11 Jan 2005 01:23:06 +0100

Yitzchak Scott-Thoennes wrote:

> On Mon, Jan 10, 2005 at 10:22:11PM +0100, Gerrit P. Haase wrote:
> 
>>Christopher Faylor wrote:
>>
>>
>>>>>All I needed to trigger it was "perl -V".
>>>>
>>>>Hmmm, atoi() is not available on Win98/ME?  Strange.
>>>
>>>
>>>Why would perl be finding atoi in ntdll.dll?  It should be coming from
>>>the cygwin DLL shouldn't it?
>>
>>Yes, as it used to be, it is used all over the place in the perl
>>sources.  I'm a little clueless now.
> 
> 
> Did you verify that it was Win32CORE at fault by trying a perl built
> without it?

$ cat ext.libs
-L/lib/w32api -lnetapi32 -lwininet -lversion -lmpr -lodbc32 -lodbccp32 
-lwinmm -lstdc++ -lole32 -loleaut32 -luuid -lcomctl32 -lgdi32 -lcomdlg32 
-lntdll

There it is:
$ cat ext/Win32CORE/hints/cygwin.pl
[...]
$self->{LIBS} = [q{ -L/lib/w32api -lnetapi32 -lwininet -lversion -lmpr 
-lodbc32 -lodbccp32 -lwinmm -lstdc++ -lole32 -loleaut32 -luuid 
-lcomctl32 -lgdi32 -lcomdlg32 -lntdll }];
[...]

> Perl itself doesn't use atoi, nor does Win32CORE.xs.  I'm guessing
> Win32CORE is calling a win32 routine that isn't fully supported
> on win9x.  One of:

$ grep -r atoi *
[72 lines output]

Now the question is which of these libs can be removed and which needs
to stay?  I'll try to remove all of them at first since it seems that 
many of them are only used for specific extension modules.

Gerrit
-- 
=^..^=

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/