Julien de Troullioud de Lanversin
2016-11-16 04:41:25 UTC
Hi all,
I am completely new to MPI (and relatively new to linux). I am sorry if the
problem I encountered is obvious to solve.
When I run the following simple test with mpirun:
*program hello_world use mpi integer ierr call MPI_INIT (
ierr ) print *, "Hello world" call MPI_FINALIZE ( ierr )end
program hello_world*
I get the following error :
*./test: symbol lookup error: /usr/lib/libmpi_mpifh.so.12: undefined
symbol: mpi_fortran_weights_empty*
I compiled the source code like this: mpifort -o test test.f90
I look up on the internet and I understand that it is a problem with the
shared library of open mpi. But I think I correctly added the open mpi lib
to ld_library_path (I added the first directory -- /usr/lib/openmpi/lib -- via
.bashrc). Here is an echo $LD_LIBRARY_PATH:
*$/usr/lib/openmpi/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/mic/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/ipp/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/tbb/lib/intel64/gcc4.4:/opt/intel/debugger_2016/libipt/intel64/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/lib/intel64_lin:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/../compiler/lib/intel64_lin:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/mic/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/ipp/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/tbb/lib/intel64/gcc4.4:/opt/intel/debugger_2016/libipt/intel64/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/lib/intel64_lin:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/../tbb/lib/intel64_lin/gcc4.4:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/../compiler/lib/intel64_lin*
The path that my system uses at run time (/usr/lib/) is not in the library
path. I thus don't know why this path is used.
I would be thankful if anyone could help me with this issue.
Best,
Julien de Troullioud de Lanversin
I am completely new to MPI (and relatively new to linux). I am sorry if the
problem I encountered is obvious to solve.
When I run the following simple test with mpirun:
*program hello_world use mpi integer ierr call MPI_INIT (
ierr ) print *, "Hello world" call MPI_FINALIZE ( ierr )end
program hello_world*
I get the following error :
*./test: symbol lookup error: /usr/lib/libmpi_mpifh.so.12: undefined
symbol: mpi_fortran_weights_empty*
I compiled the source code like this: mpifort -o test test.f90
I look up on the internet and I understand that it is a problem with the
shared library of open mpi. But I think I correctly added the open mpi lib
to ld_library_path (I added the first directory -- /usr/lib/openmpi/lib -- via
.bashrc). Here is an echo $LD_LIBRARY_PATH:
*$/usr/lib/openmpi/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/mic/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/ipp/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/tbb/lib/intel64/gcc4.4:/opt/intel/debugger_2016/libipt/intel64/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/lib/intel64_lin:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/../compiler/lib/intel64_lin:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/mic/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/ipp/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/tbb/lib/intel64/gcc4.4:/opt/intel/debugger_2016/libipt/intel64/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/lib/intel64_lin:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/../tbb/lib/intel64_lin/gcc4.4:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/../compiler/lib/intel64_lin*
The path that my system uses at run time (/usr/lib/) is not in the library
path. I thus don't know why this path is used.
I would be thankful if anyone could help me with this issue.
Best,
Julien de Troullioud de Lanversin