I am writing a code in python that exploits a Fortran 90 optimization algorithm. The idea is to have the MAIN routine in python that calls the algorithm in Fortran that calls another python function passing some parameters in order to calculate the value of an objective function (that is, it returns a scalar), like this:
[Python) MAIN ⇒ [Fortran] BB_algo ⇒ [Python] FUNCT
Such problem should be solved by using the f2py libraries in python. In order to try to make such method work I have written some simpler code that makes similar operations.
The Fortran subroutine is called writepy
:
subroutine writepy(funct,n)
implicit none
real, EXTERNAL :: funct
INTEGER :: I,n
REAL*8 :: r
!f2py intent(in), n
!f2py intent(out), r
!f2py real y
!f2py y=funct(y)
r = 1D0
DO I=1,5
write(*,*) 'funct:', funct(n)
r = r + funct(n)
ENDDO
return
end
while the code in Python is the following:
import os
os.system("f2py -m wp -c writepy.f90")
import wp
def funct(n):
print(n);
return n
if __name__ == '__main__':
n=3;
wp.writepy(funct,n)
Fortran compiles well with gfortran, but when I try to compile it with f2py it seems that there are some errors with the wrapper in C of Fortran, but I do not really know what to do at this point.
I get the following:
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building extension "wp" sources
f2py options: []
f2py:> /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c
creating /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5
Reading fortran codes...
Reading file 'writepy.f90' (format:free)
{'after': '(in), n', 'before': '', 'this': 'intent'}
Line #12 in writepy.f90:" intent(in), n"
analyzeline: no name pattern found in intent statement for ''. Skipping.
{'after': '(out), r', 'before': '', 'this': 'intent'}
Line #13 in writepy.f90:" intent(out), r"
analyzeline: no name pattern found in intent statement for ''. Skipping.
Post-processing...
Block: wp
Block: writepy
Post-processing (stage 2)...
Building modules...
Building module "wp"...
Constructing wrapper function "writepy"...
sign2map: Confused: external funct is not in lcb_map[].
append_needs: unknown need 'funct'
append_needs: unknown need 'funct'
writepy(funct,n,[funct_extra_args])
Wrote C/API module "wp" to file "/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c"
adding '/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/fortranobject.c' to sources.
adding '/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5' to include_dirs.
copying /Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/f2py/src/fortranobject.c -> /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5
copying /Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/f2py/src/fortranobject.h -> /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5
build_src: building npy-pkg config files
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
customize Gnu95FCompiler
Found executable /usr/bin/gfortran
customize Gnu95FCompiler
customize Gnu95FCompiler using build_ext
building 'wp' extension
compiling C sources
C compiler: /usr/bin/clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/Valyria/anaconda/include -arch x86_64
creating /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/var
creating /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/var/folders
creating /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/var/folders/4q
creating /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn
creating /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T
creating /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm
creating /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5
compile options: '-I/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5 -I/Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include -I/Users/Valyria/anaconda/include/python3.5m -c'
clang: /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/fortranobject.c
In file included from /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/fortranobject.c:2:
In file included from /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/fortranobject.h:13:
In file included from /Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include/numpy/arrayobject.h:4:
In file included from /Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:
In file included from /Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include/numpy/ndarraytypes.h:1788:
/Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
#warning "Using deprecated NumPy API, disable it by " \
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/fortranobject.c:139:18: warning: comparison of integers of different signs: 'Py_ssize_t' (aka 'long') and 'unsigned long' [-Wsign-compare]
if (size < sizeof(notalloc)) {
~~~~ ^ ~~~~~~~~~~~~~~~~
2 warnings generated.
clang: /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c
In file included from /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:18:
In file included from /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/fortranobject.h:13:
In file included from /Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include/numpy/arrayobject.h:4:
In file included from /Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:
In file included from /Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include/numpy/ndarraytypes.h:1788:
/Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
#warning "Using deprecated NumPy API, disable it by " \
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:277:3: error: use of undeclared identifier 'funct_typedef'
funct_typedef funct_cptr;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:293:3: error: use of undeclared identifier 'funct_cptr'; did you mean 'funct_capi'?
funct_cptr = F2PyCapsule_AsVoidPtr(funct_capi);
^~~~~~~~~~
funct_capi
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:273:13: note: 'funct_capi' declared here
PyObject *funct_capi = Py_None;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:295:3: error: use of undeclared identifier 'funct_cptr'; did you mean 'funct_capi'?
funct_cptr = funct;
^~~~~~~~~~
funct_capi
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:273:13: note: 'funct_capi' declared here
PyObject *funct_capi = Py_None;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:295:16: error: use of undeclared identifier 'funct'
funct_cptr = funct;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:298:24: error: use of undeclared identifier 'funct_nofargs'
funct_nofargs_capi = funct_nofargs;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:299:50: error: expected expression
if (create_cb_arglist(funct_capi,funct_xa_capi,#maxnofargs#,#nofoptargs#,&funct_nofargs,&funct_args_capi,"failed in processing argument list for call-back funct.")) {
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:313:22: error: use of undeclared identifier 'funct_cptr'; did you mean 'funct_capi'?
(*f2py_func)(funct_cptr,&n);
^~~~~~~~~~
funct_capi
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:273:13: note: 'funct_capi' declared here
PyObject *funct_capi = Py_None;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:313:22: warning: incompatible pointer types passing 'PyObject *' (aka 'struct _object *') to parameter of type 'float *' [-Wincompatible-pointer-types]
(*f2py_func)(funct_cptr,&n);
^~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:332:16: warning: explicitly assigning a variable of type 'PyObject *' (aka 'struct _object *') to itself [-Wself-assign]
funct_capi = funct_capi;
~~~~~~~~~~ ^ ~~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:334:21: warning: explicitly assigning a variable of type 'PyTupleObject *' to itself [-Wself-assign]
funct_args_capi = funct_args_capi;
~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:335:5: error: use of undeclared identifier 'funct_nofargs'
funct_nofargs = funct_nofargs_capi;
^
4 warnings and 8 errors generated.
In file included from /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:18:
In file included from /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/fortranobject.h:13:
In file included from /Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include/numpy/arrayobject.h:4:
In file included from /Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:
In file included from /Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include/numpy/ndarraytypes.h:1788:
/Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
#warning "Using deprecated NumPy API, disable it by " \
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:277:3: error: use of undeclared identifier 'funct_typedef'
funct_typedef funct_cptr;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:293:3: error: use of undeclared identifier 'funct_cptr'; did you mean 'funct_capi'?
funct_cptr = F2PyCapsule_AsVoidPtr(funct_capi);
^~~~~~~~~~
funct_capi
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:273:13: note: 'funct_capi' declared here
PyObject *funct_capi = Py_None;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:295:3: error: use of undeclared identifier 'funct_cptr'; did you mean 'funct_capi'?
funct_cptr = funct;
^~~~~~~~~~
funct_capi
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:273:13: note: 'funct_capi' declared here
PyObject *funct_capi = Py_None;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:295:16: error: use of undeclared identifier 'funct'
funct_cptr = funct;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:298:24: error: use of undeclared identifier 'funct_nofargs'
funct_nofargs_capi = funct_nofargs;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:299:50: error: expected expression
if (create_cb_arglist(funct_capi,funct_xa_capi,#maxnofargs#,#nofoptargs#,&funct_nofargs,&funct_args_capi,"failed in processing argument list for call-back funct.")) {
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:313:22: error: use of undeclared identifier 'funct_cptr'; did you mean 'funct_capi'?
(*f2py_func)(funct_cptr,&n);
^~~~~~~~~~
funct_capi
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:273:13: note: 'funct_capi' declared here
PyObject *funct_capi = Py_None;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:313:22: warning: incompatible pointer types passing 'PyObject *' (aka 'struct _object *') to parameter of type 'float *' [-Wincompatible-pointer-types]
(*f2py_func)(funct_cptr,&n);
^~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:332:16: warning: explicitly assigning a variable of type 'PyObject *' (aka 'struct _object *') to itself [-Wself-assign]
funct_capi = funct_capi;
~~~~~~~~~~ ^ ~~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:334:21: warning: explicitly assigning a variable of type 'PyTupleObject *' to itself [-Wself-assign]
funct_args_capi = funct_args_capi;
~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c:335:5: error: use of undeclared identifier 'funct_nofargs'
funct_nofargs = funct_nofargs_capi;
^
4 warnings and 8 errors generated.
error: Command "/usr/bin/clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/Valyria/anaconda/include -arch x86_64 -I/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5 -I/Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include -I/Users/Valyria/anaconda/include/python3.5m -c /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.c -o /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpi34fejrm/src.macosx-10.6-x86_64-3.5/wpmodule.o" failed with exit status 1
Edit
Thanks to @DavidW's answer the code now works, but if I try to call the fortran function "writepy" from another function, the error of "use of undeclared identifier" is once again there.
the new Fortran code is
subroutine writepy(funct,n,r)
implicit none
EXTERNAL :: funct
REAL :: funct
INTEGER :: I,n
intent(in):: n
REAL*8 :: r
intent(out) ::r
r = 1D0
DO I=1,5
write(*,*) 'funct:', funct(I)
r = r + funct(n)
ENDDO
return
end
subroutine call_writepy(funct,n,r)
implicit none
EXTERNAL :: funct
REAL :: funct
INTEGER :: n
intent(inout):: n
REAL*8 :: r
intent(inout) ::r
call writepy(funct,n,r)
return
end
it compiles with GFortran, but when I use it with Python I get:
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:431:7: warning: variable 'return_value' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
if (capi_j>capi_i)
^~~~~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:446:10: note: uninitialized use occurs here
return return_value;
^~~~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:431:3: note: remove the 'if' if its condition is always true
if (capi_j>capi_i)
^~~~~~~~~~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:363:21: note: initialize the variable 'return_value' to silence this warning
float return_value;
^
= 0.0
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:590:3: error: use of undeclared identifier 'funct_typedef'
funct_typedef funct_cptr;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:611:3: error: use of undeclared identifier 'funct_cptr'; did you mean 'funct_capi'?
funct_cptr = F2PyCapsule_AsVoidPtr(funct_capi);
^~~~~~~~~~
funct_capi
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:586:13: note: 'funct_capi' declared here
PyObject *funct_capi = Py_None;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:613:3: error: use of undeclared identifier 'funct_cptr'; did you mean 'funct_capi'?
funct_cptr = funct;
^~~~~~~~~~
funct_capi
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:586:13: note: 'funct_capi' declared here
PyObject *funct_capi = Py_None;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:613:16: error: use of undeclared identifier 'funct'
funct_cptr = funct;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:616:24: error: use of undeclared identifier 'funct_nofargs'
funct_nofargs_capi = funct_nofargs;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:617:50: error: expected expression
if (create_cb_arglist(funct_capi,funct_xa_capi,#maxnofargs#,#nofoptargs#,&funct_nofargs,&funct_args_capi,"failed in processing argument list for call-back funct.")) {
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:634:22: error: use of undeclared identifier 'funct_cptr'; did you mean 'funct_capi'?
(*f2py_func)(funct_cptr,&n,&r);
^~~~~~~~~~
funct_capi
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:586:13: note: 'funct_capi' declared here
PyObject *funct_capi = Py_None;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:634:22: warning: incompatible pointer types passing 'PyObject *' (aka 'struct _object *') to parameter of type 'float *' [-Wincompatible-pointer-types]
(*f2py_func)(funct_cptr,&n,&r);
^~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:660:16: warning: explicitly assigning a variable of type 'PyObject *' (aka 'struct _object *') to itself [-Wself-assign]
funct_capi = funct_capi;
~~~~~~~~~~ ^ ~~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:662:21: warning: explicitly assigning a variable of type 'PyTupleObject *' to itself [-Wself-assign]
funct_args_capi = funct_args_capi;
~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:663:5: error: use of undeclared identifier 'funct_nofargs'
funct_nofargs = funct_nofargs_capi;
^
5 warnings and 8 errors generated.
routsign2map: Confused: function call_writepy has externals ['funct'] but no "use" statement.
sign2map: Confused: external funct is not in lcb_map[].
append_needs: unknown need 'funct'
append_needs: unknown need 'funct'
In file included from /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:18:
In file included from /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/fortranobject.h:13:
In file included from /Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include/numpy/arrayobject.h:4:
In file included from /Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:
In file included from /Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include/numpy/ndarraytypes.h:1788:
/Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
#warning "Using deprecated NumPy API, disable it by " \
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:431:7: warning: variable 'return_value' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
if (capi_j>capi_i)
^~~~~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:446:10: note: uninitialized use occurs here
return return_value;
^~~~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:431:3: note: remove the 'if' if its condition is always true
if (capi_j>capi_i)
^~~~~~~~~~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:363:21: note: initialize the variable 'return_value' to silence this warning
float return_value;
^
= 0.0
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:590:3: error: use of undeclared identifier 'funct_typedef'
funct_typedef funct_cptr;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:611:3: error: use of undeclared identifier 'funct_cptr'; did you mean 'funct_capi'?
funct_cptr = F2PyCapsule_AsVoidPtr(funct_capi);
^~~~~~~~~~
funct_capi
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:586:13: note: 'funct_capi' declared here
PyObject *funct_capi = Py_None;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:613:3: error: use of undeclared identifier 'funct_cptr'; did you mean 'funct_capi'?
funct_cptr = funct;
^~~~~~~~~~
funct_capi
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:586:13: note: 'funct_capi' declared here
PyObject *funct_capi = Py_None;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:613:16: error: use of undeclared identifier 'funct'
funct_cptr = funct;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:616:24: error: use of undeclared identifier 'funct_nofargs'
funct_nofargs_capi = funct_nofargs;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:617:50: error: expected expression
if (create_cb_arglist(funct_capi,funct_xa_capi,#maxnofargs#,#nofoptargs#,&funct_nofargs,&funct_args_capi,"failed in processing argument list for call-back funct.")) {
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:634:22: error: use of undeclared identifier 'funct_cptr'; did you mean 'funct_capi'?
(*f2py_func)(funct_cptr,&n,&r);
^~~~~~~~~~
funct_capi
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:586:13: note: 'funct_capi' declared here
PyObject *funct_capi = Py_None;
^
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:634:22: warning: incompatible pointer types passing 'PyObject *' (aka 'struct _object *') to parameter of type 'float *' [-Wincompatible-pointer-types]
(*f2py_func)(funct_cptr,&n,&r);
^~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:660:16: warning: explicitly assigning a variable of type 'PyObject *' (aka 'struct _object *') to itself [-Wself-assign]
funct_capi = funct_capi;
~~~~~~~~~~ ^ ~~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:662:21: warning: explicitly assigning a variable of type 'PyTupleObject *' to itself [-Wself-assign]
funct_args_capi = funct_args_capi;
~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c:663:5: error: use of undeclared identifier 'funct_nofargs'
funct_nofargs = funct_nofargs_capi;
^
5 warnings and 8 errors generated.
error: Command "/usr/bin/clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/Valyria/anaconda/include -arch x86_64 -I/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5 -I/Users/Valyria/anaconda/lib/python3.5/site-packages/numpy/core/include -I/Users/Valyria/anaconda/include/python3.5m -c /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.c -o /var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/var/folders/4q/g84zdhps5gzbk3t5mfplqjsc0000gn/T/tmpe9wq9teg/src.macosx-10.6-x86_64-3.5/wpmodule.o" failed with exit status 1
256