[Wrf-users] [WRF 3.5.1, smpar, Intel] undefined reference to `__kmpc_global_thread_num' building "external/io_int"

Dmitry N. Mikushin maemarcus at gmail.com
Wed Mar 5 11:21:35 MST 2014


I guess nobody have tried the newest compiler yet, and the existing
configs need to be adjusted. The __kmpc_* stuff is Intel's threading
runtime or something related. You can "nm | grep" Intel's libraries
for this symbol and link the right library, or it should also be
possible to achieve the same result with properly placed -openmp
flags.

2014-03-05 13:43 GMT+01:00 Бакиров, Медер <bakirov at almetico.com>:
> Dear Sirs!
>
> I'm trying to compile WRF 3.5.1 with 'smpar' option as suggested by
> Mahally Kudsy, using Intel compilers on RHEL 5.10 system and now WRF
> 3.5.1 won't compile with the following errors:
>
> ------------------------
> make[2]: Entering directory `/home/dotcoder/src/WRFV3/external/io_int'
> if [ -f ../../frame/pack_utils.o -a -f ../../frame/clog.o ] ; then \
>           ifort -ip -w -ftz -align all -fno-alias -FR -convert
> big_endian -xHost -fp-model fast=2 -no-heap-arrays -no-prec-div
> -no-prec-sqrt -fno-common    -I../ioapi_share -o diffwrf diffwrf.f \
>                 ../../frame/pack_utils.o
> ../../frame/module_internal_header_util.o
> ../../frame/module_driver_constants.o ../../frame/module_machine.o
> ../../frame/module_wrf_error.o ../../frame/wrf_debug.o
> -L/home/dotcoder/src/WRFV3/exter
> nal/esmf_time_f90 -lesmf_time libwrfio_int.a ; \
>         fi
> ifort: command line remark #10382: option '-xHOST' setting '-xSSE4.2'
> ../../frame/module_wrf_error.o: In function `wrf_message_':
> module_wrf_error.f90:(.text+0x27): undefined reference to
> `__kmpc_global_thread_num'
> module_wrf_error.f90:(.text+0x3b): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x12a): undefined reference to `__kmpc_end_master'
> ../../frame/module_wrf_error.o: In function `wrf_message2_':
> module_wrf_error.f90:(.text+0x16a): undefined reference to
> `__kmpc_global_thread_num'
> module_wrf_error.f90:(.text+0x17b): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x1ce): undefined reference to `__kmpc_end_master'
> ../../frame/module_wrf_error.o: In function `wrf_check_error_':
> module_wrf_error.f90:(.text+0x21b): undefined reference to
> `__kmpc_global_thread_num'
> module_wrf_error.f90:(.text+0x3b7): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x4bc): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0x590): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x6a4): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0x6ca): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x7c5): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0x7e5): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x8ea): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0x913): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x96c): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0xa33): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0xa84): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0xac8): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0xb1c): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0xb34): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0xb8d): undefined reference to `__kmpc_end_master'
> ../../frame/module_wrf_error.o: In function `wrf_error_fatal_':
> module_wrf_error.f90:(.text+0xc3b): undefined reference to
> `__kmpc_global_thread_num'
> module_wrf_error.f90:(.text+0xca3): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0xda8): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0xdc4): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0xecf): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0xeeb): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0xff0): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0x101a): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x1073): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0x10b0): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x1104): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0x111c): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x1175): undefined reference to `__kmpc_end_master'
> ../../frame/module_wrf_error.o: In function `wrf_error_fatal3_':
> module_wrf_error.f90:(.text+0x1228): undefined reference to
> `__kmpc_global_thread_num'
> module_wrf_error.f90:(.text+0x128c): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x13a1): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0x1471): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x15a7): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0x15d1): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x16e4): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0x1704): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x1819): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0x1843): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x189c): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0x1957): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x19a8): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0x19f3): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x1a47): undefined reference to `__kmpc_end_master'
> module_wrf_error.f90:(.text+0x1a5f): undefined reference to `__kmpc_master'
> module_wrf_error.f90:(.text+0x1ab8): undefined reference to `__kmpc_end_master'
> make[2]: [diffwrf] Error 1 (ignored)
> make[2]: Leaving directory `/home/dotcoder/src/WRFV3/external/io_int'
> make[1]: Leaving directory `/home/dotcoder/src/WRFV3'
> ------------------------
>
> Intel Compiler Version:
> ------------------------
> Intel(R) Fortran Intel(R) 64 Compiler XE for applications running on
> Intel(R) 64, Version 14.0.2.144 Build 20140120
> Copyright (C) 1985-2014 Intel Corporation.  All rights reserved.
> FOR NON-COMMERCIAL USE ONLY
> ------------------------
>
> I have the following environment variables:
> ------------------------
> NETCDF=/usr/local/netcdf-4.3.1.1/
> JASPERINC=/usr/local/jasper-1.900.1/include/
> JASPERLIB=/usr/local/jasper-1.900.1/lib/
> WRFIO_NCD_LARGE_FILE_SUPPORT=1
> INCLUDE=/opt/intel/composer_xe_2013_sp1.2.144/mkl/include:/opt/intel/composer_xe_2013_sp1.2.144/compiler/include/:/usr/local/netcdf-4.3.1.1/include/:/usr/local/jasper-1.900.1/include/:/usr/local/hdf5-1.8.12/include/:/usr/local/zlib-1.2.8/include/
> ------------------------
>
> I can successfully compile both .f and .cpp sample files with an '-openmp' flag.
>
> Can you, please, suggest possible workarounds?
>
> Please, find attached 'configure.wrf' and gzipped compile.log files,
> if you need more information.
>
> Thanks!
>
> With the best regards,
> Meder Bakirov
>
> P.S. My previous build of WRF 3.5.1 (dmpar) was successfull, thanks to
> Dmitry Mikushin.
>
> _______________________________________________
> Wrf-users mailing list
> Wrf-users at ucar.edu
> http://mailman.ucar.edu/mailman/listinfo/wrf-users
>


More information about the Wrf-users mailing list