Opened 9 years ago

Closed 9 years ago

#46392 closed defect (fixed)

gfortran-mp-4.[89] internal compiler error when building scipy-0.14.1 on a PPC

Reported by: josephsacco Owned by: seanfarley (Sean Farley)
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: PPC, scipy, gfortran Cc:
Port: py-numpy

Description (last modified by seanfarley (Sean Farley))

System: dual G4 powerMac running OS X 10.5.8

gfortran-mp-4.[89] fails to compile scipy/fftpack/src/fftpack/cfftb1.f when optimization is set to '-O3'. Reducing the optimization level to '-O2' allows the compilation to succeed. The attached file contains the relevant portion of the build log and a copy of cfftb1.f.

py(27|34)-scipy-0.14.0 built without incident with an earlier version of gcc-mp-4.8.

A quick workaround to get scipy to build is to modify the numpy file that sets the optimization level for the fortran compiler.

--- site-packages/numpy/distutils/fcompiler/gnu.py-	2015-01-04 12:14:16.000000000 -0500
+++ site-packages/numpy/distutils/fcompiler/gnu.py	2015-01-04 12:14:29.000000000 -0500
@@ -200,7 +200,7 @@
             # with -O3 caused failures in lib.lapack heevr,syevr tests.
             opt = ['-O2']
         else:
-            opt = ['-O3']
+            opt = ['-O2']
         opt.append('-funroll-loops')
         return opt

Attachments (1)

fortranError.txt (14.8 KB) - added by josephsacco 9 years ago.
gfortran command + log file + fortran file

Download all attachments as: .zip

Change History (3)

Changed 9 years ago by josephsacco

Attachment: fortranError.txt added

gfortran command + log file + fortran file

comment:1 Changed 9 years ago by seanfarley (Sean Farley)

Description: modified (diff)
Owner: changed from macports-tickets@… to sean@…
Port: py-numpy added; gcc48 gcc49 removed
Status: newassigned

This is a patch that needs to be applied to numpy, correct?

comment:2 Changed 9 years ago by seanfarley (Sean Farley)

Resolution: fixed
Status: assignedclosed

Should be fixed in r131019.

Note: See TracTickets for help on using tickets.