[PATCH 1/4] Added error reporting in call to f2py.

2 views
Skip to first unread message

David M. Rogers

unread,
Aug 23, 2012, 12:04:47 PM8/23/12
to sympy-...@googlegroups.com
---
 sympy/utilities/autowrap.py |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/sympy/utilities/autowrap.py b/sympy/utilities/autowrap.py
index 7b011a8..eb3a558 100644
--- a/sympy/utilities/autowrap.py
+++ b/sympy/utilities/autowrap.py
@@ -63,6 +63,12 @@
     2) If the array computation can be handled easily by numpy, and you
        don't need the binaries for another project.
 
+If you are getting an error: gnu: no Fortran 90 compiler found
+try calling autowrap with: autowrap(f, flags=["--fcompiler=gnu95"])
+F2py had some upstream issues with gfortran not being detected
+when g77 is installed.
+(http://mail.scipy.org/pipermail/numpy-discussion/2007-October/029516.html)
+
 """
 from __future__ import with_statement
 
@@ -144,13 +150,16 @@ def _process_files(self, routine):
         command.extend(self.flags)
         null = open(os.devnull, 'w')
         try:
-            if self.quiet:
-                retcode = subprocess.call(command, stdout=null, stderr=subprocess.STDOUT)
-            else:
-                retcode = subprocess.call(command)
+            p = subprocess.Popen(command, stdout=subprocess.PIPE)
+            out, err = p.communicate()
+            retcode = p.returncode
         except OSError:
             retcode = 1
         if retcode:
+        print "======== F2OY STDOUT ========"
+        print out
+        print "======== F2PY STDERR ========"
+        print err
             raise CodeWrapError(
                     "Error while executing command: %s" % " ".join(command))
 
--
1.7.4.1

Reply all
Reply to author
Forward
0 new messages