[Numpy-tickets] [NumPy] #526: g95 support is broken

NumPy numpy-tickets@scipy....
Mon Jul 2 21:11:48 CDT 2007


#526: g95 support is broken
-----------------------------+----------------------------------------------
 Reporter:  bgranger         |        Owner:  pearu   
     Type:  defect           |       Status:  assigned
 Priority:  high             |    Milestone:  1.1     
Component:  numpy.distutils  |      Version:  none    
 Severity:  normal           |   Resolution:          
 Keywords:                   |  
-----------------------------+----------------------------------------------
Old description:

> When using g95 as the fortran compiler, numpy won't build.  This is
> because the g95 fortran compiler doesn't set the linker_exe key of the
> executables dict.  Thus you get a KeyError:
>
> running build_ext
> customize UnixCCompiler
> customize UnixCCompiler using build_ext
> customize G95FCompiler
> Traceback (most recent call last):
>   File "setup.py", line 89, in <module>
>     setup_package()
>   File "setup.py", line 82, in setup_package
>     configuration=configuration )
>   File
> "/home2/user/work/txp/txpython-0.2-linux/spkg/build/numpy-1.0.3.dev3673/numpy/distutils/core.py",
> line 174, in setup
>     return old_setup(**new_attr)
>   File
> "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/core.py",
> line 151, in setup
>     dist.run_commands()
>   File
> "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/dist.py",
> line 974, in run_commands
>     self.run_command(cmd)
>   File
> "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/dist.py",
> line 994, in run_command
>     cmd_obj.run()
>   File
> "/home2/user/work/txp/txpython-0.2-linux/spkg/build/numpy-1.0.3.dev3673/numpy/distutils/command/install.py",
> line 16, in run
>     r = old_install.run(self)
>   File
> "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/command/install.py",
> line 506, in run
>     self.run_command('build')
>   File
> "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/cmd.py",
> line 333, in run_command
>     self.distribution.run_command(command)
>   File
> "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/dist.py",
> line 994, in run_command
>     cmd_obj.run()
>   File
> "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/command/build.py",
> line 112, in run
>     self.run_command(cmd_name)
>   File
> "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/cmd.py",
> line 333, in run_command
>     self.distribution.run_command(command)
>   File
> "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/dist.py",
> line 994, in run_command
>     cmd_obj.run()
>   File
> "/home2/user/work/txp/txpython-0.2-linux/spkg/build/numpy-1.0.3.dev3673/numpy/distutils/command/build_ext.py",
> line 113, in run
>     self.fcompiler.customize(self.distribution)
>   File
> "/home2/user/work/txp/txpython-0.2-linux/spkg/build/numpy-1.0.3.dev3673/numpy/distutils/fcompiler/__init__.py",
> line 351, in customize
>     linker_exe_flags =
> self.__get_flags(self.get_flags_linker_exe,'LDFLAGS')
>   File
> "/home2/user/work/txp/txpython-0.2-linux/spkg/build/numpy-1.0.3.dev3673/numpy/distutils/fcompiler/__init__.py",
> line 533, in __get_flags
>     var = command()
>   File
> "/home2/user/work/txp/txpython-0.2-linux/spkg/build/numpy-1.0.3.dev3673/numpy/distutils/fcompiler/__init__.py",
> line 203, in get_flags_linker_exe
>     if self.executables['linker_exe']:
> KeyError: 'linker_exe'
>
> The current syntax in fcompiler/__init__.py", in get_flags_linker_exe
> does not protect against this error.  My guess is that linker_exe should
> simply be set properly in the g95 fcompiler class.

New description:

 When using g95 as the fortran compiler, numpy won't build.  This is
 because the g95 fortran compiler doesn't set the linker_exe key of the
 executables dict.  Thus you get a KeyError:
 {{{
 running build_ext
 customize UnixCCompiler
 customize UnixCCompiler using build_ext
 customize G95FCompiler
 Traceback (most recent call last):
   File "setup.py", line 89, in <module>
     setup_package()
   File "setup.py", line 82, in setup_package
     configuration=configuration )
   File
 "/home2/user/work/txp/txpython-0.2-linux/spkg/build/numpy-1.0.3.dev3673/numpy/distutils/core.py",
 line 174, in setup
     return old_setup(**new_attr)
   File
 "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/core.py",
 line 151, in setup
     dist.run_commands()
   File
 "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/dist.py",
 line 974, in run_commands
     self.run_command(cmd)
   File
 "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/dist.py",
 line 994, in run_command
     cmd_obj.run()
   File
 "/home2/user/work/txp/txpython-0.2-linux/spkg/build/numpy-1.0.3.dev3673/numpy/distutils/command/install.py",
 line 16, in run
     r = old_install.run(self)
   File
 "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/command/install.py",
 line 506, in run
     self.run_command('build')
   File
 "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/cmd.py",
 line 333, in run_command
     self.distribution.run_command(command)
   File
 "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/dist.py",
 line 994, in run_command
     cmd_obj.run()
   File
 "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/command/build.py",
 line 112, in run
     self.run_command(cmd_name)
   File
 "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/cmd.py",
 line 333, in run_command
     self.distribution.run_command(command)
   File
 "/home2/user/work/txp/txpython-0.2-linux/local/lib/python2.5/distutils/dist.py",
 line 994, in run_command
     cmd_obj.run()
   File
 "/home2/user/work/txp/txpython-0.2-linux/spkg/build/numpy-1.0.3.dev3673/numpy/distutils/command/build_ext.py",
 line 113, in run
     self.fcompiler.customize(self.distribution)
   File
 "/home2/user/work/txp/txpython-0.2-linux/spkg/build/numpy-1.0.3.dev3673/numpy/distutils/fcompiler/__init__.py",
 line 351, in customize
     linker_exe_flags =
 self.__get_flags(self.get_flags_linker_exe,'LDFLAGS')
   File
 "/home2/user/work/txp/txpython-0.2-linux/spkg/build/numpy-1.0.3.dev3673/numpy/distutils/fcompiler/__init__.py",
 line 533, in __get_flags
     var = command()
   File
 "/home2/user/work/txp/txpython-0.2-linux/spkg/build/numpy-1.0.3.dev3673/numpy/distutils/fcompiler/__init__.py",
 line 203, in get_flags_linker_exe
     if self.executables['linker_exe']:
 KeyError: 'linker_exe'
 }}}
 The current syntax in `fcompiler/__init__.py`, in `get_flags_linker_exe`
 does not protect against this error.  My guess is that `linker_exe` should
 simply be set properly in the g95 fcompiler class.

Comment (by cookedm):

 wikified description

-- 
Ticket URL: <http://projects.scipy.org/scipy/numpy/ticket/526#comment:3>
NumPy <http://projects.scipy.org/scipy/numpy>
The fundamental package needed for scientific computing with Python.


More information about the Numpy-tickets mailing list