[Numpy-discussion] Is there a known problem compiling numpy with VC7? Success
Tim Hochberg
tim.hochberg at cox.net
Thu Feb 9 10:34:03 EST 2006
Travis Oliphant wrote:
> Tim Hochberg wrote:
>
>>>
>>>
>>> I'm trying to incorporate your changes.
>>
>>
>>
>>
>> Great.
>>
>>
>> OK, we'll have to work out something that works for both. The issue
>> here on windows is that compiling the testcode requires python.lib,
>> and it doesn't get found unless that directory is specified. The
>> problem is perhaps related to the following comment in system_info.py
>>
>> if sys.platform == 'win32': # line 116
>> default_lib_dirs = ['C:\\'] # probably not very helpful...
>
>
>
> I added the change you made in setup.py to default_lib_dirs, here.
> See if this fixes it.
>
>>>
>>> 3) For the setup.py file in random you are using Advapi for all
>>> win32 platforms. But, this seems to be a windows NT file
>>
>>
>>
>> I'm compiling on XP FWIW.
>>
>>> or at least only needed when compiling with certain compilers.
>>> Mingw32 built just fine without it. So, I'm not sure how to handle
>>> this.
>>
>>
> I see now. On _WIN32 platforms it's using the registry instead of the
> file system to store things. I modified the random/setup.py script to
> test for _WIN32 in the compiler and add the dll to the list of
> libraries if it is found. I'm also reading the configuration file to
> determine MATHLIB.
>
> Can you try out the new SVN and see if it builds for you without
> modification.
There's a shallow error in system_info.py
File "C:\Documents and
Settings\End-user\Desktop\numpy\svn\numpy\numpy\distutils\system_info.py",
line 118, in ?
default_lib_dirs = ['C:\\',
NameError: name 'join' is not defined
Just replacing join with os.path.join fixed that. However, it didn't
help. I had this fantasy that default_lib_dirs would get picked up
automagically; however that does not happen. I still ended up putting:
from numpy.distutils import system_info
library_dirs = system_info.default_lib_dirs
result =
config_cmd.try_run(tc,include_dirs=[python_include],
library_dirs=library_dirs)
into setup.py. Is that acceptable? It's not very elegant.
The changes to setup.py in random and the M_PI, seem to have worked
since with the changes above it compiles and passes all of the tests
except for the previously mentioned test_minrelpath.
-tim
More information about the NumPy-Discussion
mailing list