Opened 7 years ago

Last modified 4 years ago

#13157 closed defect

inline_fortran is STILL broken on OS X — at Version 4

Reported by: benjaminfjones Owned by: was
Priority: major Milestone: sage-5.4
Component: interfaces Keywords: fortran osx
Cc: kcrisman, mvngu, flawrence Merged in:
Authors: Jeroen Demeyer Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description (last modified by jdemeyer)

Despite #7465 being closed as "worksforme", the following snippet in the notebook in Sage-5.2 on Mac OS X 10.7.4 fails.

%fortran          	
C FILE: FIB1.F
      SUBROUTINE FIB(A,N)
C
C     CALCULATE FIRST N FIBONACCI NUMBERS
C
      INTEGER N
      REAL*8 A(N)
      DO I=1,N
         IF (I.EQ.1) THEN
            A(I) = 0.0D0
         ELSEIF (I.EQ.2) THEN
            A(I) = 1.0D0
         ELSE 
            A(I) = A(I-1) + A(I-2)
         ENDIF
      ENDDO
      END
C END FILE FIB1.F

Here is the error in full: http://pastebin.com/iVBkjckp

Apply:

  1. 13157_inline_fortran.patch to the Sage library.
  2. 13157_scripts.patch to $SAGE_ROOT/local/bin.

Change History (6)

comment:1 Changed 7 years ago by kcrisman

Umm, there is something really odd here. The flags passed seem to indicate something went quite wrong. For instance, one bit is

/var/folders/f4/881mfg491yxdf3zx37ynf5580000gn/T/tmpSLdvBd/Users/bael/.sage/temp/Baels_MacBook_Air.local/2689/tmp_0.o -LUsing built-in specs. COLLECT_GCC=gfortran COLLECT_LTO_WRAPPER=/Users/bael/sage/sage-5.0.1/local/bin/../libexec/gcc/x86_64-apple-darwin10.8.0/4.6.3/lto-wrapper /Users/bael/sage/sage-5.0.1/local/bin/../lib/gcc/x86_64-apple-darwin10.8.0/4.6.3 -l gfortran -o ./fortran_module_0.so -l gfortran -shared-libgcc

What the heck?

-LUsing built-in specs. COLLECT_GCC=gfortran 

No wonder the errors look like

gfortran: error: built-in: No such file or directory
gfortran: error: specs.: No such file or directory
gfortran: error: COLLECT_GCC=gfortran: No such file or directory

I don't know how that verbiage got passed there, though.

Anyway, since

/Users/bael/sage/sage-5.0.1/local/bin/../lib/gcc/x86_64-apple-darwin10.8.0/4.6.3" -lgfortran -o ./fortran_module_0.so" failed with exit status 1

that means it's no surprise that at the end

    os.unlink(name + '.so')
OSError: [Errno 2] No such file or directory: 'fortran_module_0.so'

though that is just a symptom.

Does ticket:8010:attachment:trac-8010_numpy.patch (sorry, can't get the link right) look like it might solve it for you, just on the off chance? One would have to make a new spkg, of course. But the patch was never applied, to my knowledge.

comment:2 Changed 7 years ago by kcrisman

Wait, there is no sage_fortran any more, so that doesn't make sense to apply anyway. And the current numpy code has

'linker_so'    : [None, "-g", "-Wall"],

so the shared business can't be the issue, or at least not in exactly the same way.

I can also confirm that this is not just a Lion issue; the same happens on 10.6.

comment:3 Changed 7 years ago by jdemeyer

  • Description modified (diff)
  • Summary changed from %fortran in the notebook (and fortran.eval on command line) is STILL broken on OS X to inline_fortran is STILL broken on OS X

Changed 7 years ago by jdemeyer

comment:4 Changed 7 years ago by jdemeyer

  • Authors set to Jeroen Demeyer
  • Description modified (diff)
  • Status changed from new to needs_review

Changed 7 years ago by jdemeyer

Note: See TracTickets for help on using tickets.