[Numpy-discussion] NumPy and Python 2.6 on Windows

David Cournapeau david at ar.media.kyoto-u.ac.jp
Sat Dec 27 22:48:07 EST 2008


Lenard Lindstrom wrote:
> David Cournapeau wrote:
>   
>> Lenard Lindstrom wrote:
>>   
>>     
>>> David Cournapeau wrote:
>>>     
>>>       
>>>> Hi Lenard,
>>>>
>>>>
>>>> On Sun, Dec 28, 2008 at 5:05 AM, Lenard Lindstrom <len-l at telus.net> wrote:
>>>>   
>>>>       
>>>>         
>>>>> Hi everyone,
>>>>>
>>>>>         
>>>>>           
> [snip]
>   
>>>>> I am willing to offer what advice
>>>>> I can to get NumPy up and running for Python 2.6.
>>>>>     
>>>>>         
>>>>>           
>>>> Thanks. I think I have covered most problems concerning python 2.6 and
>>>> windows in the trunk (upcoming 1.3)[.]
>>>>       
>>>>         
> [snip]
>   
>>>>  
>>>>
>>>>   
>>>>       
>>>>         
>>> It looks like you have a handle on the problem. How did you get around 
>>> the problems with the incomplete libmsvcr90.a import library? I have 
>>> custom import libraries which you can use if needed.
>>>     
>>>       
>> Do you mean on xp 32 bits or 64 bits ? For the later, I have yet to
>> submit patchs to the mingw-w64 project - the whole libmsvcr90.a is
>> missing, actually. For 32 bits, I simply got around it by changing the
>> missing functions in numpy itself - if we are talking about the same
>> thing, that is missing time functions for random. 
>>     
> Yes, the _ftime function, which is an inlined function in VC 2008 that 
> calls _ftime64. I have to build a lot of dependencies for Pygame so I 
> want to avoid patching code when possible.

I understand you don't want to patch the sources. The above fix is in
the trunk, though - and I don't feel like backporting those fixes in the
1.2.x branch, because it would be a lot of work.

>  Instead I have a custom 
> libmsvcr90.a that has stub functions for the various time functions. It 
> lets me create static libraries that link to both msvcr71.dll and 
> msvcr90.dll. No manifest files required. And no patches to MinGW.
>   

Manifests are needed  for any executable linking against msvcr90.dll,
whether you build with mingw or VS: this is required by windows itself
to be able to load msvcr90.dll at all  (the dreadful Side by Side
assembly stuff). This is a totally independent issue of the _ftime
thing, and AFAIK, there is no way around it - except installing
msvcrt90.dll in system32 yourself, which is obviously a very bad idea.

Patching mingw is necessary for 64 bits support, since their headers are
missing some math functions - no patch is needed for 32 bits.

cheers,

David




More information about the NumPy-Discussion mailing list