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

Robin robince at gmail.com
Wed Jul 20 16:09:11 EDT 2011


I'm not at my Mac to check the exact paths but see if pointing one of
the environment variables
LD_LIBRARY_PATH
or
DYLD_LIBRARY_PATH
to a directory where the gfortran openmp libraries can be found - this
will depend on where you got gfortran from and the version, but you
should be able to find it by following the symlink that is the
gfortran command and looking for an appropriate lib/ directory near
the target of that.

Cheers

Robin

On Wed, Jul 20, 2011 at 9:02 PM, Brandt Belson <bbelson at princeton.edu> wrote:
> 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
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>



More information about the NumPy-Discussion mailing list