[SciPy-dev] Windows build, possible problem with scipy_distutils MinGW support

Pearu Peterson pearu at scipy.org
Mon Jan 12 08:47:11 EST 2004



On Mon, 12 Jan 2004, Brett G. Olivier wrote:

> I have been trying to build scipy on win2k (Python 2.3, scipy cvs ver.
> '0.2.1_252.4501') using MinGW. One problem in the build process is a
> strange call to a program "g" when building the cluster module (the other
> is a problem building the specfun library), a possible solution can be
> found by making a change in scipy_distutils: mingw32_support.py
> 
> As far as the cluster build problem is concerned: compiling scipy with
> "python setup.py build --compiler=mingw32"
> 
> results in the following error:
> 
> "g -shared build\temp.win32-2.3\Release\lib\cluster\src\vq_wrap.o
> -Lc:\python23\libs -Lc:\python23\PCBuild -Lbuild\temp.win32-2.3 -lpython23
> -lrootfind -lc_misc-lcephes -o build\lib.win32-2.3\scipy\cluster\_vq.pyd
> error: command 'g' failed: No such file or directory"
> 
> I have tracked down the probable source of this problem in
> mingw32_support.py:
> 
> Line 96: self.compiler_cxx = 'g++'
> 
> If I understand it correctly MinGW uses python distutils UnixCCompiler
> which in unixccompiler.py has:
> 
> Line 174: if target_lang == "c++" and self.compiler_cxx:
> Line 175:     linker[0] = self.compiler_cxx[0]
> 
> I think this is the source of the phantom "g" call. In mingw32_support.py
> altering Line 96:
> 
> Line 96: self.compiler_cxx = 'g++'
> Line 96: self.compiler_cxx = ['g++']
> 
> seems to sort this problem out.
> 
> I'm not at all sure if this is a proper solution to this problem or not, 
> any comments or questions are more than welcome.

Thanks for tracking this down. I have applied your patch to CVS.
It shouldn't affect pre 2.3 Python versions as their distutils
are not using compiler_cxx.

Thanks,
Pearu



More information about the SciPy-Dev mailing list