[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