[gpaw-users] libmpifort.so: undefined reference compiler issue
Groves, Michael
mgroves at exchange.fullerton.edu
Thu Feb 9 22:44:37 CET 2017
Hi Jussi,
I really appreciate you getting back to me. I didn’t realise that I didn’t have to include the openMPI libraries explicitly (that they were included already in the Intel Parallel Studio wrapper mpiicc). I removed all references to openMPI and gpaw-python was successfully compiled. However, now when I go to run the tests, I get this error:
[mgroves at kepler tools]$ gpaw
Traceback (most recent call last):
File "/home/mgroves/DFT/gpaw-1.1.0/tools/gpaw", line 2, in <module>
from gpaw.cli.main import main
File "/home/mgroves/DFT/gpaw-1.1.0/gpaw/__init__.py", line 232, in <module>
from gpaw.aseinterface import GPAW
File "/home/mgroves/DFT/gpaw-1.1.0/gpaw/aseinterface.py", line 8, in <module>
from gpaw.external import PointChargePotential
File "/home/mgroves/DFT/gpaw-1.1.0/gpaw/external.py", line 6, in <module>
import _gpaw
ImportError: /share/apps/intel/composer_xe_2015.0.090/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.so: undefined symbol: MPI_Finalize
Would you have any ideas as to how I can get it to define MPI_Finalize?
Thanks!
Michael
Michael Groves, PhD
Assistant Professor
Department of Chemistry and Biochemistry
California State University, Fullerton
mgroves at fullerton.edu
(657)278-7018
On 2/8/17, 11:33 PM, "Jussi Enkovaara" <jussi.enkovaara at csc.fi> wrote:
Hi Michael,
it seems that you are mixing Open MPI and Intel MPI (i.e. using Intel
MPI's wrapper mpiicc but having Open MPI directories in your library
paths).
You could try use only Intel MPI by removing all openmpi related stuff
from "library_dirs" and LD_LIBRARY_PATH (replace also
mkl_blacs_openmpi_lp64 with mkl_blacs_intelmpi_lp64 in
"libraries"). Other option could be to use Open MPI wrapper with
something like:
compiler = 'icc'
mpicompiler = 'OMPI_CC=icc mpicc'
mpilinker = 'OMPI_CC=icc mpicc'
(You might need to add Open MPI's bin directory into your PATH in this
case).
Best regards,
Jussi
On 2017-02-08 18:06, Groves, Michael via gpaw-users wrote:
> Hello gpaw-users,
>
> I’m working to install GPAW onto my home cluster and when compiling gpaw-python I’ve run into this issue:
>
>
> mpiicc -o build/bin.linux-x86_64-2.7//gpaw-python build/temp.linux-x86_64-2.7/c/_gpaw.o build/temp.linux-x86_64-2.7/c/bc.o build/temp.linux-x86_64-2.7/c/blacs.o build/temp.linux-x86_64-2.7/c/blas.o build/temp.linux-x86_64-2.7/c/bmgs/bmgs.o build/temp.linux-x86_64-2.7/c/cerf.o build/temp.linux-x86_64-2.7/c/fftw.o build/temp.linux-x86_64-2.7/c/hdf5.o build/temp.linux-x86_64-2.7/c/lapack.o build/temp.linux-x86_64-2.7/c/lcao.o build/temp.linux-x86_64-2.7/c/lfc.o build/temp.linux-x86_64-2.7/c/lfc2.o build/temp.linux-x86_64-2.7/c/localized_functions.o build/temp.linux-x86_64-2.7/c/mlsqr.o build/temp.linux-x86_64-2.7/c/mpi.o build/temp.linux-x86_64-2.7/c/operators.o build/temp.linux-x86_64-2.7/c/plane_wave.o build/temp.linux-x86_64-2.7/c/plt.o build/temp.linux-x86_64-2.7/c/point_charges.o build/temp.linux-x86_64-2.7/c/spline.o build/temp.linux-x86_64-2.7/c/symmetry.o build/temp.linux-x86_64-2.7/c/transformers.o build/temp.linux-x86_64-2.7/c/utilities.o build/temp.linux-x86_64-2.7/c/wigner_seitz.o build/temp.linux-x86_64-2.7/c/woperators.o build/temp.linux-x86_64-2.7/c/xc/ensemble_gga.o build/temp.linux-x86_64-2.7/c/xc/libvdwxc.o build/temp.linux-x86_64-2.7/c/xc/libxc.o build/temp.linux-x86_64-2.7/c/xc/m06l.o build/temp.linux-x86_64-2.7/c/xc/pbe.o build/temp.linux-x86_64-2.7/c/xc/pw91.o build/temp.linux-x86_64-2.7/c/xc/revtpss.o build/temp.linux-x86_64-2.7/c/xc/revtpss_c_pbe.o build/temp.linux-x86_64-2.7/c/xc/rpbe.o build/temp.linux-x86_64-2.7/c/xc/tpss.o build/temp.linux-x86_64-2.7/c/xc/vdw.o build/temp.linux-x86_64-2.7/c/xc/xc.o build/temp.linux-x86_64-2.7/c/xc/xc_mgga.o -L/share/apps/openmpi/1.10.5/lib -L/share/apps/intel/composer_xe_2015.0.090/mkl/lib/intel64 -L/home/mgroves/DFT/libxc-3.0.0/install/lib -L/home/mgroves/DFT/python/2.7/anaconda2/lib/python2.7/config -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_lapack95_lp64 -lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64 -lmkl_blas95_lp64 -lpthread -lmkl_rt -lm -lxc -lpython2.7 -lpthread -ldl -lutil -lm -L/home/mgroves/DFT/python/2.7/anaconda2/lib -Wl,-rpat
h=/home/mgroves/DFT/python/2.7/anaconda2/lib,--no-as-needed -Xlinker -export-dynamic
> /home/mgroves/DFT/python/2.7/anaconda2/lib/python2.7/config/libpython2.7.a(posixmodule.o): In function `posix_tmpnam':
> /home/ilan/minonda/conda-bld/work/Python-2.7.12/./Modules/posixmodule.c:7631: warning: the use of `tmpnam_r' is dangerous, better use `mkstemp'
> /home/mgroves/DFT/python/2.7/anaconda2/lib/python2.7/config/libpython2.7.a(posixmodule.o): In function `posix_tempnam':
> /home/ilan/minonda/conda-bld/work/Python-2.7.12/./Modules/posixmodule.c:7578: warning: the use of `tempnam' is dangerous, better use `mkstemp'
> build/temp.linux-x86_64-2.7/c/_gpaw.o: In function `main':
> c/_gpaw.c:(.text+0x3d): undefined reference to `__kmpc_begin'
> c/_gpaw.c:(.text+0x97): undefined reference to `__kmpc_end'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `PMPIX_Comm_group_failed'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPID_Datatype_builtin'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPID_Type_contiguous'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPIR_Type_free_impl'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPIR_Grequest_set_lang_f77'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPID_Wtime_todouble'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPIR_CommGetAttr_fort'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPIR_WinGetAttr'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPIU_Handle_get_ptr_indirect'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPIR_Keyval_set_proxy'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPID_Type_commit'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPID_Wtick'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPI_WEIGHTS_EMPTY'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPIR_TypeSetAttr'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPIR_Err_create_code'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPIR_Err_preOrPostInit'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPIR_TypeGetAttr'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPID_Datatype_direct'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPIR_WinSetAttr'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPID_b_use_gettimeofday'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPIR_CommSetAttr'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPID_Datatype_mem'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPIR_Process'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPI_UNWEIGHTED'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `PMPIX_Comm_reenable_anysource'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPID_Datatype_set_contents'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPIR_Add_finalize'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `PMPIX_Comm_remote_group_failed'
> /share/apps/intel//impi/5.0.1.035/intel64/lib/libmpifort.so: undefined reference to `MPIR_Err_return_comm'
> running build_scripts
> error: can't copy 'build/bin.linux-x86_64-2.7/gpaw-python': doesn't exist or not a regular file
>
>
> I’m compiling this with openmpi and intel compilers and I’m at a bit of a loss as to how to get this to work. Here is my customize.py file:
>
> compiler = 'icc'
> mpicompiler = 'mpiicc'
> mpilinker = 'mpiicc'
>
>
> scalapack = True
>
> library_dirs += ['/share/apps/openmpi/1.10.5/lib','/share/apps/intel/composer_xe_2015.0.090/mkl/lib/intel64']
> libraries = ['mkl_intel_lp64' ,'mkl_sequential' ,'mkl_core',
> 'mkl_lapack95_lp64',
> 'mkl_scalapack_lp64', 'mkl_blacs_openmpi_lp64',
> 'mkl_blas95_lp64',
> 'pthread',
> 'mkl_rt','m'
> ]
>
> libraries += ['xc']
> # change this to your installation directory
> LIBXCDIR='/home/mgroves/DFT/libxc-3.0.0/install/'
> library_dirs += [LIBXCDIR + 'lib']
> include_dirs += [LIBXCDIR + 'include']
>
> extra_compile_args = ['-O3','-fPIC','-std=c99']
>
> extra_compile_args += ['-qopenmp']
>
> define_macros += [('GPAW_NO_UNDERSCORE_CBLACS', '1')]
> define_macros += [('GPAW_NO_UNDERSCORE_CSCALAPACK', '1')]
> define_macros += [('PARALLEL', '1')]
> define_macros += [("GPAW_ASYNC",1)]
> define_macros += [("GPAW_MPI2",1)]
>
>
> Here is my PATH variable
>
> [mgroves at kepler gpaw-1.1.0]$ echo $PATH
> /share/apps/intel//impi/5.0.1.035/intel64/bin:/share/apps/intel//impi/5.0.1.035/intel64/bin:/share/apps/intel/composer_xe_2015.0.090/bin/intel64:/share/apps/intel/composer_xe_2015.0.090/mpirt/bin/intel64:/share/apps/intel/composer_xe_2015.0.090/debugger/gdb/intel64_mic/bin:/share/apps/intel/bin:/share/apps/intel/advisor_xe_2015.1.0.367266/bin64:/share/apps/intel/vtune_amplifier_xe_2015.1.0.367959/bin64:/share/apps/intel/inspector_xe_2015.1.0.366509/bin64:/share/apps/intel//impi/5.0.1.035/intel64/bin:/share/apps/intel//itac/9.0.1.033/intel64/bin:/share/apps/intel/composer_xe_2015.0.090/bin/intel64:/share/apps/intel/composer_xe_2015.0.090/mpirt/bin/intel64:/share/apps/intel/composer_xe_2015.0.090/debugger/gdb/intel64_mic/bin:/home/mgroves/DFT/ase/tools:/home/mgroves/DFT/python/2.7/anaconda2/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/ganglia/bin:/opt/ganglia/sbin:/opt/ibutils/bin:/usr/java/latest/bin:/opt/maven/bin:/opt/maui/bin:/opt/torque/bin:/opt/torque/sbin:/opt/pdsh/bin:/opt/rocks/bin:/opt/rocks/sbin:/home/mgroves/bin
>
>
>
> And here is my LD_LIBRARY_PATH
>
> [mgroves at kepler gpaw-1.1.0]$ echo $LD_LIBRARY_PATH
> /share/apps/openmpi/1.10.5/lib:/home/mgroves/DFT/libxc-3.0.0/install/lib:/share/apps/intel//impi/5.0.1.035/intel64/lib:/share/apps/intel//impi/5.0.1.035/intel64/lib:/share/apps/intel/composer_xe_2015.0.090/compiler/lib/intel64:/share/apps/intel/composer_xe_2015.0.090/mpirt/lib/intel64:/share/apps/intel/composer_xe_2015.0.090/ipp/../compiler/lib/intel64:/share/apps/intel/composer_xe_2015.0.090/ipp/lib/intel64:/share/apps/intel/composer_xe_2015.0.090/compiler/lib/intel64:/share/apps/intel/composer_xe_2015.0.090/mkl/lib/intel64:/share/apps/intel/composer_xe_2015.0.090/tbb/lib/intel64/gcc4.4:/share/apps/intel//impi/5.0.1.035/intel64/lib:/share/apps/intel//itac/9.0.1.033/mic/slib:/share/apps/intel//itac/9.0.1.033/intel64/slib:/share/apps/intel/composer_xe_2015.0.090/compiler/lib/intel64:/share/apps/intel/composer_xe_2015.0.090/mpirt/lib/intel64:/share/apps/intel/composer_xe_2015.0.090/ipp/../compiler/lib/intel64:/share/apps/intel/composer_xe_2015.0.090/ipp/lib/intel64:/share/apps/intel/composer_xe_2015.0.090/compiler/lib/intel64:/share/apps/intel/composer_xe_2015.0.090/mkl/lib/intel64:/share/apps/intel/composer_xe_2015.0.090/tbb/lib/intel64/gcc4.4::/opt/python/lib
>
>
>
> Does anyone know as to what I’m missing so that gpaw-python finds these undefined references?
>
> Thanks!
>
> Michael
>
>
> Michael Groves, PhD
> Assistant Professor
> Department of Chemistry and Biochemistry
> California State University, Fullerton
> mgroves at fullerton.edu<mailto:mgroves at fullerton.edu>
> (657)278-7018
>
>
>
> _______________________________________________
> gpaw-users mailing list
> gpaw-users at listserv.fysik.dtu.dk
> https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users
>
More information about the gpaw-users
mailing list