<div>hi all.</div>
<div>I'm trying to compile an F90 source file with f2py, but it fails with the construct "type ... end type".</div>
<div>here is an example:</div>
<div> </div>
<div>--------------------</div>
<div>! file test19.f90</div>
<div>module basic                                                                                                                                                                                                                                                              
<br>                                                                                                                                                                                                                                                                          
<br>  implicit none                                                                                                                                                                                                                                                           
<br>  save                                                                                                                                                                                                                                                                    
<br>                                                                                                                                                                                                                                                                          
<br>  integer, parameter :: ciao = 17                                                                                                                                                                                                                                         
<br>                                                                                                                                                                                                                                                                          
<br>end module basic                                                                                                                                                                                                                                                          
<br>                                                                                                                                                                                                                                                                          
<br>module basic2                                                                                                                                                                                                                                                             
<br>                                                                                                                                                                                                                                                                          
<br>  implicit none                                                                                                                                                                                                                                                           
<br>  save                                                                                                                                                                                                                                                                    
<br>                                                                                                                                                                                                                                                                          
<br>  type test_t                                                                                                                                                                                                                                                             
<br>     integer :: x                                                                                                                                                                                                                                                         
<br>  end type test_t                                                                                                                                                                                                                                                         
<br>                                                                                                                                                                                                                                                                          
<br>  type(test_t) :: ciao                                                                                                                                                                                                                                                    
<br>                                                                                                                                                                                                                                                                          
<br>end module basic2                                                                                                                                                                                                                                                         
<br>----------------------</div>
<div> </div>
<div>$>f2py -c test19.f90 -m test --fcompiler=intele --compiler=intel</div>
<div>(I'm compiling on an SGI Altix)</div>
<div> </div>
<div>and this is the error message:</div>
<div> </div>
<div>----------------------</div>
<div>running build<br>running config_fc<br>running build_src<br>building extension "test" sources<br>f2py options: []<br>f2py:> /tmp/tmprBrnf7/src.linux-ia64-2.5/testmodule.c<br>creating /tmp/tmprBrnf7<br>creating /tmp/tmprBrnf7/src.linux-
ia64-2.5<br>Reading fortran codes...<br>        Reading file 'test19.f90' (format:free)<br>Post-processing...<br>        Block: test<br>                        Block: basic<br>                        Block: basic2
<br>                                Block: test_t<br>Post-processing (stage 2)...<br>        Block: test<br>                Block: unknown_interface<br>                        Block: basic<br>                        Block: basic2
<br>                                Block: test_t<br>Building modules...<br>        Building module "test"...<br>                Constructing F90 module support for "basic"...<br>                  Variables: ciao
<br>                Constructing F90 module support for "basic2"...<br>                  Variables: ciao<br>getctype: No C-type found in "{'typespec': 'type', 'typename': 'test_t'}", assuming void.
<br>Traceback (most recent call last):<br>  File "/xlv1/labsoi_devices/bollalo001/bin/f2py", line 26, in <module><br>    main()<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/site-packages/numpy/f2py/f2py2e.py", line 552, in main
<br>    run_compile()<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/site-packages/numpy/f2py/f2py2e.py", line 539, in run_compile<br>    setup(ext_modules = [ext])<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/site-packages/numpy/distutils/core.py", line 174, in setup
<br>    return old_setup(**new_attr)<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/distutils/core.py", line 151, in setup<br>    dist.run_commands()<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/distutils/dist.py", line 974, in run_commands
<br>    self.run_command(cmd)<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/distutils/dist.py", line 994, in run_command<br>    cmd_obj.run()<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/distutils/command/build.py", line 112, in run
<br>    self.run_command(cmd_name)<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/distutils/cmd.py", line 333, in run_command<br>    self.distribution.run_command(command)<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/distutils/dist.py", line 994, in run_command
<br>    cmd_obj.run()<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/site-packages/numpy/distutils/command/build_src.py", line 87, in run<br>    self.build_sources()<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/site-packages/numpy/distutils/command/build_src.py", line 106, in build_sources
<br>    self.build_extension_sources(ext)<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/site-packages/numpy/distutils/command/build_src.py", line 218, in build_extension_sources<br>    sources = self.f2py_sources
(sources, ext)<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/site-packages/numpy/distutils/command/build_src.py", line 471, in f2py_sources<br>    ['-m',ext_name]+f_sources)<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/site-packages/numpy/f2py/f2py2e.py", line 362, in run_main
<br>    ret=buildmodules(postlist)<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/site-packages/numpy/f2py/f2py2e.py", line 314, in buildmodules<br>    dict_append(ret[mnames[i]],rules.buildmodule(modules[i],um))
<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/site-packages/numpy/f2py/rules.py", line 1130, in buildmodule<br>    mr,wrap = f90mod_rules.buildhooks(m)<br>  File "/xlv1/labsoi_devices/bollalo001/lib/python2.5/site-packages/numpy/f2py/f90mod_rules.py", line 127, in buildhooks
<br>    at = capi_maps.c2capi_map[ct]<br>KeyError: 'void'<br>Exit 1<br>------------------------------------</div>
<div> </div>
<div>module basic gives no problems, but module basic2 yes, because of the type construct.</div>
<div>what am I doing wrong?</div>
<div>thank you very much,</div>
<div>lorenzo.</div>