Page 1 of 1

WPP Compilation Problem

PostPosted: Mon Nov 24, 2008 5:18 pm
by leon
Good day, I write to you with the following purpose:

I have tried to compile the 3.0 version of WPP but when compiling
It's mark the following errors:

pgf90 -Mfree -O0 -g -Kieee -pc 32 -Ktrap=fp -C -byteswapio -o ../../exec/wrfpost.exe getVariable_LINUX.o getIVariable_LINUX.o getVariableB_LINUX.o getIVari$
/W/WRFV3/main/libwrflib.a(interp_fcn.o): In function `interp_fcn_':
interp_fcn.f90:(.text+0x1d7): undefined reference to `_mp_penter'
interp_fcn.f90:(.text+0x1dc): undefined reference to `_mp_lcpu'
interp_fcn.f90:(.text+0x1e4): undefined reference to `_mp_ncpus'
interp_fcn.f90:(.text+0xb23): undefined reference to `_mp_pexit'
/W/WRFV3/main/libwrflib.a(interp_fcn.o): In function `bdy_interp1_':
interp_fcn.f90:(.text+0x4028): undefined reference to `_mp_penter'
interp_fcn.f90:(.text+0x402d): undefined reference to `_mp_lcpu'
interp_fcn.f90:(.text+0x4035): undefined reference to `_mp_ncpus'
interp_fcn.f90:(.text+0x5823): undefined reference to `_mp_pexit'
/W/WRFV3/main/libwrflib.a(couple_or_uncouple_em.o): In function `couple_or_uncouple_em_':
couple_or_uncouple_em.f90:(.text+0x274b): undefined reference to `_mp_penter'
couple_or_uncouple_em.f90:(.text+0x2751): undefined reference to `_mp_lcpu'
couple_or_uncouple_em.f90:(.text+0x2758): undefined reference to `_mp_ncpus'
couple_or_uncouple_em.f90:(.text+0x3694): undefined reference to `_mp_pexit'
couple_or_uncouple_em.f90:(.text+0x36a2): undefined reference to `_mp_penter'
couple_or_uncouple_em.f90:(.text+0x36a7): undefined reference to `_mp_lcpu'
couple_or_uncouple_em.f90:(.text+0x36ae): undefined reference to `_mp_ncpus'

/W/WRFV3/main/libwrflib.a(module_quilt_outbuf_ops.o): In function `module_quilt_outbuf_ops_write_outbuf_':
module_quilt_outbuf_ops.f90:(.text+0x17e1): undefined reference to `ext_gr2_write_field_'
module_quilt_outbuf_ops.f90:(.text+0x279a): undefined reference to `ext_gr2_write_field_'
/W/WRFV3/main/libwrflib.a(module_cu_g3.o): In function `module_cu_g3_conv_grell_spread3d_':
module_cu_g3.f90:(.text+0x1d53b): undefined reference to `_mp_penter'
module_cu_g3.f90:(.text+0x1d540): undefined reference to `_mp_lcpu'
module_cu_g3.f90:(.text+0x1d547): undefined reference to `_mp_ncpus'
module_cu_g3.f90:(.text+0x2471e): undefined reference to `_mp_pexit'
make[2]: *** [../../exec/wrfpost.exe] Error 2
make[2]: Leaving directory `/W/WPPV3/sorc/wrfpost'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/W/WPPV3/sorc'
make: *** [all] Error 2

and dont create the wrfpost.exe

I hope anyone can help me with my problem, ill waiting for yours answers.. Thank you!

Re: WPP Compilation Problem

PostPosted: Fri Jan 23, 2009 6:11 pm
by elvedin
Add -mp or -Mconcur (PGI) to your FFLAGS (of makefile)

Worked for me, however -Mconcur increased the optimization level to -O2 instead of -O0

Re: WPP Compilation Problem

PostPosted: Fri Jan 30, 2009 3:24 pm
by elvedin
elvedin wrote:Add -mp or -Mconcur (PGI) to your FFLAGS (of makefile)

Worked for me, however -Mconcur increased the optimization level to -O2 instead of -O0


Addendum: My conclusion is WPP assumes WRF was NOT compiled with smpar. If you do compile WRF with smpar, then you will get those errors with the prefix "_mp"

Re: WPP Compilation Problem

PostPosted: Mon Mar 02, 2009 9:22 am
by ivan
elvedin wrote:
Addendum: My conclusion is WPP assumes WRF was NOT compiled with smpar. If you do compile WRF with smpar, then you will get those errors with the prefix "_mp"


Thank you. I also came to the same conclusion. Addition of -openmp flag (I use intel fortran) cancelled errors with "_mp" prefix but resulted in another errors. Recompiling WRF with 'serial' flag instead of 'smpar' eventually helped.