Date: Oct 15, 2009 12:11 PM
Author: Michele Catalano
Subject: Inability to compile mex files with openMp and gfortran
I'm trying to compile a fortran source code with mex compiling options. I would introduce openMp statements to fasten the jobs. I'm using gfortran.
While I can compile by shell, when I compile with option file engopts.sh I get errors such as:
simulDSGEengProva.o: In function `MAIN__':
simulDSGEengProva.F90:(.text+0x9222): undefined reference to `GOMP_parallel_start'
simulDSGEengProva.F90:(.text+0x922f): undefined reference to `GOMP_parallel_end'
simulDSGEengProva.o: In function `MAIN__.omp_fn.0':
simulDSGEengProva.F90:(.text+0xa737): undefined reference to `omp_get_num_threads'
simulDSGEengProva.F90:(.text+0xa73e): undefined reference to `omp_get_thread_num'
collect2: ld returned 1 exit status
mex: link of 'simulDSGEengProva' failed.
I think it is due to compiler inability to link against some library, in particular that related with openMp i.e., libgomp.
I attach the options in engopts.sh file:
FFLAGS="$MFLAGS -fopenmp -fexceptions "
FLIBS="$RPATH $MLIBS -L/usr/lib/ -lm -lstdc++"
What could be the problem?
thanks in advance