[Numpy-discussion] f2py and openmp on mac os x with gfortran

Brandt Belson bbelson at princeton.edu
Wed Jul 20 15:02:30 EDT 2011


Hello,
I'm struggling to create openmp subroutines. I've simplified the problem
down to the subroutine below.

-- play.f90 --
subroutine step(soln,n)
  implicit none
  integer n,i
  real*8 soln(n)

  !f2py intent(in) n
  !f2py intent(out) soln
  !f2py depend(n) soln

!$OMP PARALLEL DO
  do i=1,n
    soln(i) = .1
  end do
!$OMP END PARALLEL DO
end subroutine step


I compile this with the command:

f2py -c -m play play.f90 --fcompiler=gfortran --f90flags="-fopenmp"

This completes successfully. When I import the module, I get the following
error message.

$ python -c 'import play'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: dlopen(./play.so, 2): Symbol not found: _GOMP_parallel_end
  Referenced from: /home/bbelson/Desktop/SOR/play.so
  Expected in: flat namespace
 in /home/bbelson/Desktop/SOR/play.so

It seems to me that the linking step is broken, however I did not see any
other options in the f2py documentation to change the linking step. Did I
miss something?

Thanks,
Brandt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20110720/8ee56cb1/attachment.html>


More information about the NumPy-Discussion mailing list