Hi,

I had the same problem. I think this might work:
FFLAGS='-fopenmp' f2py -c (etc)
The thing is that f2py doesn't let you pass the -fopenmp flag at the right time 
to the compiler, so you have to use some sort of environment variable trick. By 
the way, as far as I know, this is the case also on non-mac platforms.

Did that do the trick?

Cheers,
Paul.


On 20. juli 2011, at 21.02, Brandt Belson 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@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion

_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to