Menu

Troubles with building jdftx

Ximik
2015-04-07
2015-11-10
1 2 3 4 > >> (Page 1 of 4)
  • Ximik

    Ximik - 2015-04-07

    Dear developers and users of jdftx.

    I have already built jdftx on my notebook, however building it on my university cluster was unsuccessful. May be due to non-standard locations for libraries, as I have no root privileges.

    I think, problem is nested somewhere in cmake.

    I have installed needed libraries, cmake 3.2.1, gcc (version 5.0.0 20150401 (experimental)) in my $home/{bin,lib}.
    Thus gcc,g++, cmake are in PATH, static and shared libraries in LD_LIBRARY_PATH and LIBRARY_PATH.

    Unfortunately cmake refuses to find Atlas. I have also tried setting LAPACK_PATH, BLAS_PATH pointing to /home/bsod/lib/atlas-sse3/ (where Atlas is installed) with or without setting LAPACK_LIBRARIES variable.

    Unfortunately, none of these efforts was successful.

    After some googling, I have found, that building with cmake is extremely tricky, as sometimes it complains for Blas/Lapack, while real reason is others - it cannot find pthread while linking.

    I have examined CMakeOutput.log and CMakeError.log, but no clue what's up.
    CMakeError.log contains errors while looking for pthread_create and pthread_create in pthreads.
    At the same time CMakeOutput.log shows that pthread was successfully found in pthread and everything was built successful.

    Can anybody help me to overcome these troubles with cmake?
    If you need any additional info about my software configuration, I shall post it here.
    Any, even extreme, way to hack this gordian knot will be appreciated.

    Thanks you in advance, Igor.

    Below is the output of cmake.

    [bsod@cluster-edu build]$ CC=/home/bsod/gcc/bin/gcc CXX=/home/bsod/gcc/bin/g++ cmake -D GSL_PATH=/home/bsod -D LAPACK_LIBRARIES="/home/bsod/lib/atlas-sse3/liblapack.so;/home/bsod/lib/atlas-sse3/libf77blas.so;/home/bsod/lib/atlas-sse3/libcblas.so;/home/bsod/lib/atlas-sse3/libatlas.so" ..
    -- The C compiler identification is GNU 5.0.0
    -- The CXX compiler identification is GNU 5.0.0
    -- Check for working C compiler: /home/bsod/gcc/bin/gcc
    -- Check for working C compiler: /home/bsod/gcc/bin/gcc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /home/bsod/gcc/bin/g++
    -- Check for working CXX compiler: /home/bsod/gcc/bin/g++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Found Subversion: /usr/bin/svn (found version "1.6.11")
    -- SVN revision number: 1172
    -- Looking for gsl_integration_glfixed_point
    -- Looking for gsl_integration_glfixed_point - found
    -- Found GSL: /home/bsod/lib/libgsl.so
    -- Found FFTW3: /usr/lib64/libfftw3_threads.so /usr/local/lib/libfftw3.a
    -- Looking for include file pthread.h
    -- Looking for include file pthread.h - found
    -- Looking for pthread_create
    -- Looking for pthread_create - not found
    -- Looking for pthread_create in pthreads
    -- Looking for pthread_create in pthreads - not found
    -- Looking for pthread_create in pthread
    -- Looking for pthread_create in pthread - found
    -- Found Threads: TRUE
    CMake Error at /home/bsod/cmake/share/cmake-3.2/Modules/FindBLAS.cmake:681 (message):
    A required library with BLAS API not found. Please specify library
    location.
    Call Stack (most recent call first):
    /home/bsod/cmake/share/cmake-3.2/Modules/FindLAPACK.cmake:156 (find_package)
    CMakeLists.txt:44 (find_package)

    -- Configuring incomplete, errors occurred!
    See also "/home/bsod/jdftx/build/CMakeFiles/CMakeOutput.log".
    See also "/home/bsod/jdftx/build/CMakeFiles/CMakeError.log".

     
  • Ximik

    Ximik - 2015-04-07

    Additional info.

    Atlas-sse3,atlas-sse3-dev v.3.8.4 and lapack,lapack-dev v. 3.2.1 libraries for arch x86-64 were installed by unpacking rpms from OS distro. I have also tried to build them from sources, but without success.

     
  • Ravishankar Sundararaman

    Hi Igor,

    Try adding:

    -D CMAKE_LIBRARY_PATH=/home/bsod/lib/atlas-sse3

    to your cmake commandline. Remove the LAPACK_LIBRARIES definition from your command line; it is best to give the paths and let the CMake module set that.

    Before trying this, you should clean out your build directory - not just make clean, but also clean out all previous cmake files. (Otherwise some of the old settings may persist and not let the new ones take effect.)

    Please let me know if that works for you, or at least if it gets you further!

    Cheers,
    Shankar

     
  • Ximik

    Ximik - 2015-04-07

    Much thanks, Shankar. I shall try to do it tomorrow, as now its too late for work:)

     
  • Ximik

    Ximik - 2015-04-08

    Dear Shankar.
    Much thanks once more. As adding CMAKE_LIBRARY_PATH= solved troubles with finding Atlas.
    I used CMAKE_LIBRARY_PATH=/home/bsod/lib, because I already have in /home/bsod/lib symlinks for Atlas libs pointing to /home/bsod/lib/atlas-sse3.

    CC=/home/bsod/gcc/bin/gcc CXX=/home/bsod/gcc/bin/g++ cmake -D GSL_PATH=/home/bsod -D CMAKE_LIBRARY_PATH=/home/bsod/lib ..

    Now cmake asks for MPI_C_LIBRARIES and MPI_C_INCLUDE_PATH. So I keep working. I shall ask you in case of any troubles.

     
  • Ximik

    Ximik - 2015-04-08

    Now I have managed to run cmake without severe troubles. Possibly I shall need extra libs in MPI_{C,CXX}_LIBRARIES

    CC=/home/bsod/gcc/bin/gcc CXX=/home/bsod/gcc/bin/g++ cmake -D GSL_PATH=/home/bsod -D CMAKE_LIBRARY_PATH=/home/bsod/lib -D MPI_C_LIBRARIES=/usr/lib64/openmpi/lib/libmpi.so -D MPI_C_INCLUDE_PATH=/usr/lib64/openmpi/include -D MPI_CXX_LIBRARIES=/usr/lib64/openmpi/lib/libmpi_cxx.so -D MPI_CXX_INCLUDE_PATH=/usr/lib64/openmpi/include ..

    The only one possible trouble could be:
    -- Performing Test HAS_IPO - Failed

    Subsequent running make emits following and stops:

    In file included from /usr/local/cuda/include/cuda_runtime.h:59:0,
    from <command-line>:0:
    /usr/local/cuda/include/host_config.h:82:2: error: #error -- unsupported GNU version! gcc 4.7 and up are not supported!
    #error -- unsupported GNU version! gcc 4.7 and up are not supported!

    As far as I know the best solution is to delete that compiler check in host_config.h (CUDA 5.0 Production Release).

     

    Last edit: Ximik 2015-04-08
  • Ximik

    Ximik - 2015-04-08

    Dear Shankar,
    Is there any way to overcome trouble with gcc version check without modifying host_config.h?
    or temporary compile and use jdftx without cuda?

    With best wishes and much thanks for your aid.
    Igor

     

    Last edit: Ximik 2015-04-08
  • Ravishankar Sundararaman

    Hey Igor,

    There's no graceful way of turning off Cuda currently, but you can comment out the find_package(Cuda) line in CMakeLists.txt in the source directory root.

    Alternatively, if your system gcc is 4.7 or newer, you could just use that instead. You are not going to get much relative benefit from the 5.0 compiler.

    Shankar

     
  • Ximik

    Ximik - 2015-04-09

    Dear Shankar.
    I have commented out find_package(Cuda) and this prevented using cuda.
    Unfortunately gcc 5.0.0 complains for incorrect suffix in literal in one of headers of openmpi (jdftx revision 1174). Openmpi seems to be outdated (v. 1.5.3).

    The message looks like following (software has Ukrainian localization, thus I provide its translation to English):

    /usr/lib64/openmpi/include/mpi_portable_platform.h:374:34: warning: incorrect suffix in a literal; C++11 standard needs space between literal and macro [-Wliteral-suffix]
    _STRINGIFY(GNUC)"."_STRINGIFY(GNUC_MINOR)"."_STRINGIFY(GNUC_PATCHLEVEL)

    There are lots of such warnings and finally error:

    /home/bsod/jdftx/electronic/ElecInfo.cpp: In member function ‘double ElecInfo::fitMu(const std::vector<diagMatrix>&, const std::vector<diagMatrix>&, double*) const’:
    /home/bsod/jdftx/electronic/ElecInfo.cpp:452:73: error: ‘struct gsl_multifit_fdfsolver’ has no member named ‘J’
    for(unsigned i=0; i<nResiduals; i++)="" *dndmu="" +="gsl_matrix_get(solver-">J, i, 0);

    my gsl has version 1.16+.
    I have pulled it from git:
    git clone git://git.savannah.gnu.org/gsl.git
    I'm not sure about its revision number.

    Trying the same compilation with gcc 4.4.6 (default compiler at cluster) gave lots of syntax errors in WignerSeitz.h and other jdftx headers. Despite of no reconfiguring include and lib PATHs it shows, that default gcc 4.4.6 is unable to compile jdftx as it was shown at the wiki page.

    I haven't tested yet new jdftx revision on my notebook with gsl, installed from rpms.

    I can try almost the same compilation with MPICH, already installed at cluster, but error with struct gsl_multifit_fdfsolver seems to be independent from MPI libs.

     

    Last edit: Ximik 2015-04-09
  • Ximik

    Ximik - 2015-04-09

    File gsl_multifit_nlin.h in git repo
    really contains no J in struct gsl_multifit_fdfsolver

    typedef struct
    {
    const gsl_multifit_fdfsolver_type * type;
    gsl_multifit_function_fdf * fdf ;
    gsl_vector * x; / parameter values x /
    gsl_vector * f; / residual vector f(x) /
    gsl_vector * dx; / step dx /
    gsl_vector * g; / gradient J^T f /
    gsl_vector * sqrt_wts; / sqrt(wts) /
    size_t niter; / number of iterations performed /
    void *state;
    }
    gsl_multifit_fdfsolver;

    On my notebook distro Mageia4 has lib64gsl0-1.16-3.mga4.x86_64.rpm with libgsl.so.0.17.0 - the same name, as I compiled. It looks quite strange, that struct gsl_multifit_fdfsolver was changed, but that's true.

    File gsl_multifit_nlin.h in gsl-1.16.tar.gz

    typedef struct
    {
    const gsl_multifit_fdfsolver_type * type;
    gsl_multifit_function_fdf * fdf ;
    gsl_vector * x;
    gsl_vector * f;
    gsl_matrix * J;
    gsl_vector * dx;
    void *state;
    }
    gsl_multifit_fdfsolver;

    I shall try to reinstall libgsl v.1.16.
    I think that's the root of my troubles. Thus please, add caution not to use gsl from git repo at the wiki page about compiling.

    Cheers, Igor

     

    Last edit: Ximik 2015-04-09
  • Ximik

    Ximik - 2015-04-14

    Dear Shankar.

    I have reinstalled libgsl to version 1.16 and this removed previous error.

    However, make emits following error:

    Linking CXX shared library libjdftx.so
    [ 0%] Built target PseudopotentialLibrary
    /usr/bin/ld: /usr/local/lib/libfftw3.a(alloc.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
    /usr/local/lib/libfftw3.a: could not read symbols: Bad value

    Is the root of this error connected with gcc flags for jdftx or for fftw3?
    Can I solve this trouble just by changing CFLAGS,CXXFLAGS or other compiler params while building jdftx?

    Or the only way is rebuilding libfftw3?

    Cheers, Igor

     

    Last edit: Ximik 2015-04-14
  • Ravishankar Sundararaman

    Hey Igor,

    The error is because you are linking the static fftw3 library into the dynamic libjdftx library.

    Cmake should select the dynamic fftw3 library automatically if it was available. So please make sure you generated that if you compiled fftw3 yourself. Please make sure of the same for all the other dependencies you compiled yourself.

    Cheers,
    Shankar

     
  • Ximik

    Ximik - 2015-04-15

    Dear Shankar.
    Thank you for that.
    I have succesfully built jdftx after building and installing libfftw3 manually with -fPIC compiler flag. It seemed that libfftw3 from distro was not built with such flag.

    I have configured libfftw3 with following:

    ./configure CC="/home/bsod/gcc/bin/gcc -fPIC" \ CXX="/home/bsod/gcc/bin/g++ -fPIC" \ --shared --enable-shared --enable-threads --with-pic \ --sharedstatedir=/home/bsod/fftw/lib \ --prefix=/home/bsod/fftw

    Installed it and provided following params to cmake:

    CC=/home/bsod/gcc/bin/gcc CXX=/home/bsod/gcc/bin/g++ cmake -D GSL_PATH=/home/bsod -D CMAKE_LIBRARY_PATH=/home/bsod/lib -D FFTW3_LIBRARY=/home/bsod/fftw/lib/libfftw3.a -D FFTW3_THREADS_LIBRARY=/home/bsod/fftw/lib/libfftw3_threads.a -D MPI_C_LIBRARIES=/usr/lib64/openmpi/lib/libmpi.so -D MPI_C_INCLUDE_PATH=/usr/lib64/openmpi/include -D MPI_CXX_LIBRARIES=/usr/lib64/openmpi/lib/libmpi_cxx.so -D MPI_CXX_INCLUDE_PATH=/usr/lib64/openmpi/include ..

    This command should be run twice, as after the first run compiler falls down with internal error.

    Unfortunately, this was not the end of my work.

    running jdftx -t showed:

    [bsod@cluster-edu build]$ ./jdftx -t
    ./jdftx: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.20' not found (required by ./jdftx) ./jdftx: /usr/lib64/libstdc++.so.6: versionCXXABI_1.3.8' not found (required by ./jdftx)
    ./jdftx: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.15' not found (required by ./jdftx) ./jdftx: /usr/lib64/libstdc++.so.6: versionGLIBCXX_3.4.20' not found (required by /home/bsod/jdftx/build/libjdftx.so)
    ./jdftx: /usr/lib64/libstdc++.so.6: version CXXABI_1.3.8' not found (required by /home/bsod/jdftx/build/libjdftx.so) ./jdftx: /usr/lib64/libstdc++.so.6: versionGLIBCXX_3.4.21' not found (required by /home/bsod/jdftx/build/libjdftx.so)
    ./jdftx: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/bsod/jdftx/build/libjdftx.so)

    So it needs newer libstdc++.so.6.

    Looking through interfaces, provided by installed libstdc++.so.6 gives:

    [bsod@cluster-edu build]$ strings /usr/lib64/libstdc++.so.6 |grep GLIBCXX
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_3.4.9
    GLIBCXX_3.4.10
    GLIBCXX_3.4.11
    GLIBCXX_3.4.12
    GLIBCXX_3.4.13
    GLIBCXX_FORCE_NEW
    GLIBCXX_DEBUG_MESSAGE_LENGTH

    [bsod@cluster-edu fftw-3.3.4]$ strings /usr/lib64/libstdc++.so.6 |grep CXXABI
    CXXABI_1.3
    CXXABI_1.3.1
    CXXABI_1.3.2
    CXXABI_1.3.3

    Could you advice my what to do to allow jdftx to run?

    Much thanks.
    Cheers, Igor

     
  • Ximik

    Ximik - 2015-04-15

    What would be better and easier to do?

    Build and install libstdc++.so.6 with risk of dependency hell?
    Make gcc5.0.0 to link with older libstdc++.so.6?
    Downgrade gcc to 4.6 and then try rebuilding and reinstalling all the deps of jdftx?

     
  • Ravishankar Sundararaman

    Hi Igor,

    This is just a library path issue. Because your gcc libs are in a nonstandard location which is not in your LD_LIBRARY_PATH, executables don't automatically find them.

    The best way to resolve this is to pass an rpath flag to the linker. Specifically, add:

    -D EXTRA_CXX_FLAGS="-Wl,-rpath,/your/path/to/gcc/libraries"

    Cheers,
    Shankar

     
  • Ximik

    Ximik - 2015-04-16

    Dear Shankar,
    thanks for your hint.

    I have just corrected LD_LIBRARY_PATH in .bashrc file and jdftx (rev. 1175) ran normally.

    However, it aborted with following message, because it was unable to write Si.fillings:

    [bsod@cluster-edu Si-test]$ jdftx -i Si.in -o Si.out
    Error opening file 'Si.fillings' for writing.
    Failed.
    The MPI_Abort() function was called after MPI_FINALIZE was invoked.
    This is disallowed by the MPI standard.
    *** Your MPI job will now abort.
    [cluster-edu:16266] Abort after MPI_FINALIZE completed successfully; not able to guarantee that all other processes were killed!

    I have played a little using relative and absolute paths for in and out files,
    invoking jdftx as is or with mpirun and setting access rights 0766 or 0777 to working directory or even to all my home directory recursively.

    All these attempts failed with the same error - Error opening file 'Si.fillings' for writing.
    Using mpirun produces more errors concerning to MPI.

    What could it be?
    May be you'll need some extra info.
    How can I see where jdftx tries to create files?
    I ran gdb --args jdftx -i Si.in -o Si.out >gdb.txt
    I shall see what will it show.

    Cheers, Igor

     

    Last edit: Ximik 2015-04-16
  • Ravishankar Sundararaman

    Hi igor,

    Jdftx will try to write files in the current directory (or a path relative to it if the dump name command specifies a relative path).

    So if it could create Si.out in your case it should have also been able to write Si.fillings. The only difference is that the latter is written via MPI-IO, si maybe there is an issue in that working on your cluster?

    Shankar

     
  • Ximik

    Ximik - 2015-04-21

    Dear Shankar.

    Thank you for your tip with EXTRA_CXX_FLAGS.

    I have played a bit with CMakeLists.txt.
    After switching off using MPI libs I have successfully built and ran jdftx.

    CC=/home/bsod/gcc/bin/gcc CXX=/home/bsod/gcc/bin/g++ cmake -D GSL_PATH=/home/bsod -D CMAKE_LIBRARY_PATH=/home/bsod/lib -D FFTW3_LIBRARY=/home/bsod/fftw/lib/libfftw3.a -D FFTW3_THREADS_LIBRARY=/home/bsod/fftw/lib/libfftw3_threads.a -D MPI_C_LIBRARIES=/usr/lib64/openmpi/lib/libmpi.so -D MPI_C_INCLUDE_PATH=/usr/lib64/openmpi/include -D MPI_CXX_LIBRARIES=/usr/lib64/openmpi/lib/libmpi_cxx.so -D MPI_CXX_INCLUDE_PATH=/usr/lib64/openmpi/include -D EXTRA_CXX_FLAGS="-Wl,-rpath,/home/bsod/gcc/lib64" ..

    make test also succeeded.

    Therefore problems with file io are caused by OpenMPI.
    I shall try to build jdftx with MPICH.

    Cheers, Igor.

     
  • Ravishankar Sundararaman

    A quick update: rev1180 in JDFTx makes GPU support optional, so you can use the EnableCUDA cmake option to turn it off or on (rather than relying on simply whether it was found or not).

    See the updated compiling page for details.

    Best,
    Shankar

     

    Last edit: Ravishankar Sundararaman 2015-04-29
  • Ximik

    Ximik - 2015-05-08

    Thank you, Shankar for that modification,
    as it allows to disable GPU without dirty hacks, like commenting something out in CMakeLists.txt.

    With best wishes, Igor.

     
  • Ximik

    Ximik - 2015-05-08

    Dear Shankar,

    it seems to be that my troubles with OpenMPI were due to warnings in /usr/lib64/openmpi/include/mpi_portable_platform.h:
    /usr/lib64/openmpi/include/mpi_portable_platform.h:374:34: warning: incorrect suffix in a literal; C++11 standard needs space between literal and macro [-Wliteral-suffix]
    _STRINGIFY(GNUC)"."_STRINGIFY(GNUC_MINOR)"."_STRINGIFY(GNUC_PATCHLEVEL)

    I have added spaces to that line:
    _STRINGIFY(GNUC) "." _STRINGIFY(GNUC_MINOR) "." _STRINGIFY(GNUC_PATCHLEVEL)

    and it seems that I have fixed the problem.

    When I ran job using following command:
    /usr/lib64/openmpi/bin/mpirun -n 4 /home/bsod/jdftx2/jdftx/build/jdftx ...

    it successfully dumped State two times until I pressed Ctrl+Shift+C:)
    Which invoked mpirun: killing job... and 4 segfaults.

    The first job run with OpenMPI was only on one machine, but I hope it will work on all cluster.

    Additional note:

    I simply copied include files of OpenMPI into other location, edited mpi_portable_platform.h and corrected MPI_C_INCLUDE_PATH and MPI_CXX_INCLUDE_PATH variables for cmake. May be that can help others in trouble.

    CC=/home/bsod/gcc/bin/gcc CXX=/home/bsod/gcc/bin/g++ cmake -D GSL_PATH=/home/bsod -D CMAKE_LIBRARY_PATH=/home/bsod/lib -D FFTW3_LIBRARY=/home/bsod/fftw/lib/libfftw3.a -D FFTW3_THREADS_LIBRARY=/home/bsod/fftw/lib/libfftw3_threads.a -D MPI_C_LIBRARIES=/usr/lib64/openmpi/lib/libmpi.so -DMPI_C_INCLUDE_PATH=/home/bsod/openmpi/include -D MPI_CXX_LIBRARIES=/usr/lib64/openmpi/lib/libmpi_cxx.so -D MPI_CXX_INCLUDE_PATH=/home/bsod/openmpi/include EXTRA_CXX_FLAGS="-Wl,-rpath,/home/bsod/gcc/lib64" ..

    Cheers, Igor

     
  • Ravishankar Sundararaman

    Hi Igor,

    Thanks for figuring out the issues and detailing them here!

    My guess is that this stems from an incompatibility between your Openmpi and the developmental version of gcc.

    Best,
    Shankar

     
  • Ximik

    Ximik - 2015-05-09

    Unfortunately,
    jdftx+OpenMPI still cannot use file io, while running on different nodes of cluster. While it works fine on one node.

    I shall try to install mpich2 headers and make it with that.

    Possibly, the least thing to do is trying to install openmpi or mpich In other location and make fully static binaries of it and jdftx.

    Cheers, Igor

     
  • Ximik

    Ximik - 2015-05-12

    Dear Shankar,

    I have tried to build jdftx using mpich2.

    Unfortunately linker complains for lot of undefined references:

    It seems to be that mpich2 installation is broken.

    Linking CXX executable jdftx
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_read_ordered_end' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_unlock'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Group_excl' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Allgather'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Recv_init' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_get_view'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Cart_create' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_get_name'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Irsend' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Init_thread'
    libjdftx.so: undefined reference to MPI_Bcast' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Ssend'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Buffer_attach' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Group_range_incl'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_iread_at' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Op_create'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_get_attr' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_free'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Group_size' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_disconnect'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_write_all_end' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_iwrite_shared'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Grequest_start' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_get_name'
    libjdftx.so: undefined reference to MPI_File_delete' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Add_error_string'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_get_byte_offset' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Pack_size'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Request_get_status' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Graph_neighbors'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_create_hvector' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Unpack_external'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Probe' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_get_group'
    libjdftx.so: undefined reference to MPI_Send' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_get_parent'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Info_set' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_sync'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to PMPI_Type_set_name' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_get_extent'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_post' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Isend'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Unpack' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPIR_Keyval_set_proxy'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_write_ordered_end' libjdftx.so: undefined reference toMPI_File_write'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Iprobe' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_iread'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_set_attr' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_read_shared'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_get_envelope' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Alltoall'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Cancel' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Initialized'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Scatterv' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Open_port'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Issend' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Graphdims_get'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Wtick' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Get_address'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Info_get' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Cart_shift'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_get_true_extent' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Get'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_write_all' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPIR_Errhandler_set_cxx'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_set_size' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_call_errhandler'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Buffer_detach' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_contiguous'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Cart_sub' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Scatter'
    libjdftx.so: undefined reference to MPI_File_open' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_get_group'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_get_info' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_write_shared'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Ssend_init' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_seek_shared'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_free' libjdftx.so: undefined reference toMPI_Barrier'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_start' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Pack_external'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_read_at' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Rsend_init'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Group_incl' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Publish_name'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Bsend_init' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Sendrecv'
    libjdftx.so: undefined reference to MPI_Finalize' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Request_free'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Gather' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Grequest_complete'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_create_darray' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_get_position'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_wait' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_iwrite_at'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Rsend' libjdftx.so: undefined reference toMPI_Recv'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_create_keyval' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Graph_get'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_group' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_create'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Cart_get' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Finalized'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_iread_shared' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_get_attr'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_write_ordered' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_get_size'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Op_commutative' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_read_all_end'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_get_position_shared' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Graph_map'
    libjdftx.so: undefined reference to MPI_File_read' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_set_name'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Test_cancelled' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Cart_map'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Exscan' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Pack'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_read_all_begin' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Errhandler_free'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_get_amode' libjdftx.so: undefined reference toMPI_Abort'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Unpublish_name' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Intercomm_create'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Cartdim_get' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Cart_coords'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Add_error_code' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Get_elements'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_write_at' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Get_version'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_delete_attr' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Close_port'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_write_all_begin' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Send_init'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Info_get_nkeys' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Bsend'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Scan' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_write_at_all_begin'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Is_thread_main' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Get_processor_name'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_join' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_iwrite'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_set_view' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_create_errhandler'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_get_type_extent' libjdftx.so: undefined reference toMPI_Comm_size'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_create_hindexed' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Reduce_local'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Reduce_scatter' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Error_string'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_lock' libjdftx.so: undefined reference toMPI_Allreduce'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Allgatherv' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Group_range_excl'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_commit' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Wtime'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Put' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_size'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_call_errhandler' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Status_set_elements'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_get_errhandler' libjdftx.so: undefined reference toMPI_Reduce'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_write_at_all' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_remote_group'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Wait' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_dup'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Sendrecv_replace' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Alloc_mem'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Irecv' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Alltoallw'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_get_name' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Error_class'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_create_indexed_block' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_get_contents'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Free_mem' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_get_attr'
    libjdftx.so: undefined reference to MPI_Comm_rank' libjdftx.so: undefined reference toMPI_Init'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_read_ordered_begin' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Info_delete'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Topo_test' libjdftx.so: undefined reference toMPI_Get_count'
    libjdftx.so: undefined reference to MPI_File_seek' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Dims_create'
    libjdftx.so: undefined reference to MPI_File_close' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Info_get_nthkey'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_create_errhandler' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_write_at_all_end'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_set_errhandler' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_write_ordered_begin'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_preallocate' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_remote_size'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Register_datarep' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_read_at_all'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_set_errhandler' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Ibsend'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Alltoallv' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Op_free'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_connect' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_free'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_split' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPIR_Op_set_cxx'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_set_errhandler' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_create_subarray'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_read_ordered' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Test'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Info_get_valuelen' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_test'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_vector' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_read_all'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Start' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_call_errhandler'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_create_keyval' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_indexed'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_set_name' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_read_at_all_begin'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_fence' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_complete'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Reduce_scatter_block' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Group_free'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_create_resized' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Pcontrol'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_create_keyval' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Cart_rank'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_accept' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_set_attr'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_delete_attr' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Query_thread'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_delete_attr' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Gatherv'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Lookup_name' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_set_atomicity'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Group_rank' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Intercomm_merge'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_get_errhandler' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_read_at_all_end'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Add_error_class' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Accumulate'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_set_attr' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_get_errhandler'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Status_set_cancelled' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Graph_neighbors_count'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Info_free' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Pack_external_size'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_get_atomicity' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_set_name'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_set_info' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Graph_create'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_test_inter' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_create_errhandler'
    collect2: error: ld returned 1 exit status
    make[2]: [jdftx] Error 1
    make[1]:
    [CMakeFiles/jdftx.dir/all] Error 2
    make[1]: Waiting for termination of tasks ...
    [ 83%] Building CXX object CMakeFiles/phonon.dir/phonon/Phonon_init.cpp.o
    Linking CXX executable phonon
    CMakeFiles/phonon.dir/phonon/Phonon.cpp.o: In function BlockRotationMatrix::allReduce()': Phonon.cpp:(.text+0x1f5): undefined reference toMPI_Allreduce'
    Phonon.cpp:(.text+0x24a): undefined reference to MPI_Allreduce' CMakeFiles/phonon.dir/phonon/Phonon.cpp.o: In functionPhonon::dump()':
    Phonon.cpp:(.text+0x26d1): undefined reference to MPI_Allreduce' Phonon.cpp:(.text+0x2706): undefined reference toMPI_Allreduce'
    Phonon.cpp:(.text+0x273b): undefined reference to MPI_Allreduce' CMakeFiles/phonon.dir/phonon/Phonon_init.cpp.o:Phonon_init.cpp:(.text+0xbd2): more undefined references toMPI_Allreduce' follow
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_read_ordered_end' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_unlock'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Group_excl' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Allgather'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Recv_init' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_get_view'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Cart_create' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_get_name'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Irsend' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Init_thread'
    libjdftx.so: undefined reference to MPI_Bcast' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Ssend'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Buffer_attach' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Group_range_incl'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_iread_at' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Op_create'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_get_attr' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_free'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Group_size' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_disconnect'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_write_all_end' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_iwrite_shared'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Grequest_start' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_get_name'
    libjdftx.so: undefined reference to MPI_File_delete' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Add_error_string'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_get_byte_offset' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Pack_size'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Request_get_status' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Graph_neighbors'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_create_hvector' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Unpack_external'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Probe' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_get_group'
    libjdftx.so: undefined reference to MPI_Send' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_get_parent'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Info_set' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_sync'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to PMPI_Type_set_name' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_get_extent'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_post' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Isend'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Unpack' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPIR_Keyval_set_proxy'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_write_ordered_end' libjdftx.so: undefined reference toMPI_File_write'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Iprobe' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_iread'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_set_attr' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_read_shared'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_get_envelope' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Alltoall'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Cancel' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Initialized'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Scatterv' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Open_port'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Issend' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Graphdims_get'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Wtick' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Get_address'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Info_get' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Cart_shift'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_get_true_extent' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Get'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_write_all' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPIR_Errhandler_set_cxx'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_set_size' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_call_errhandler'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Buffer_detach' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_contiguous'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Cart_sub' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Scatter'
    libjdftx.so: undefined reference to MPI_File_open' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_get_group'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_get_info' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_write_shared'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Ssend_init' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_seek_shared'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_free' libjdftx.so: undefined reference toMPI_Barrier'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_start' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Pack_external'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_read_at' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Rsend_init'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Group_incl' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Publish_name'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Bsend_init' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Sendrecv'
    libjdftx.so: undefined reference to MPI_Finalize' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Request_free'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Gather' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Grequest_complete'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_create_darray' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_get_position'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_wait' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_iwrite_at'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Rsend' libjdftx.so: undefined reference toMPI_Recv'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_create_keyval' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Graph_get'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_group' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_create'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Cart_get' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Finalized'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_iread_shared' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_get_attr'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_write_ordered' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_get_size'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Op_commutative' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_read_all_end'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_get_position_shared' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Graph_map'
    libjdftx.so: undefined reference to MPI_File_read' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_set_name'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Test_cancelled' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Cart_map'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Exscan' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Pack'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_read_all_begin' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Errhandler_free'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_get_amode' libjdftx.so: undefined reference toMPI_Abort'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Unpublish_name' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Intercomm_create'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Cartdim_get' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Cart_coords'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Add_error_code' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Get_elements'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_write_at' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Get_version'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_delete_attr' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Close_port'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_write_all_begin' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Send_init'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Info_get_nkeys' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Bsend'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Scan' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_write_at_all_begin'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Is_thread_main' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Get_processor_name'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_join' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_iwrite'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_set_view' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_create_errhandler'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_get_type_extent' libjdftx.so: undefined reference toMPI_Comm_size'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_create_hindexed' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Reduce_local'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Reduce_scatter' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Error_string'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_lock' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Allgatherv'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Group_range_excl' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_commit'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Wtime' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Put'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_size' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_call_errhandler'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Status_set_elements' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_get_errhandler'
    libjdftx.so: undefined reference to MPI_Reduce' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_write_at_all'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_remote_group' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Wait'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_dup' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Sendrecv_replace'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Alloc_mem' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Irecv'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Alltoallw' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_get_name'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Error_class' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_create_indexed_block'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_get_contents' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Free_mem'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_get_attr' libjdftx.so: undefined reference toMPI_Comm_rank'
    libjdftx.so: undefined reference to MPI_Init' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_read_ordered_begin'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Info_delete' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Topo_test'
    libjdftx.so: undefined reference to MPI_Get_count' libjdftx.so: undefined reference toMPI_File_seek'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Dims_create' libjdftx.so: undefined reference toMPI_File_close'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Info_get_nthkey' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_create_errhandler'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_write_at_all_end' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_set_errhandler'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_write_ordered_begin' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_preallocate'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_remote_size' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Register_datarep'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_read_at_all' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_set_errhandler'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Ibsend' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Alltoallv'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Op_free' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_connect'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Comm_free' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_split'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPIR_Op_set_cxx' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_set_errhandler'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_create_subarray' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_read_ordered'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Test' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Info_get_valuelen'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_test' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_vector'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_read_all' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Start'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_call_errhandler' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_create_keyval'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_indexed' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_set_name'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_read_at_all_begin' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_fence'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_complete' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Reduce_scatter_block'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Group_free' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_create_resized'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Pcontrol' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_create_keyval'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Cart_rank' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_accept'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Win_set_attr' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_delete_attr'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Query_thread' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_delete_attr'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Gatherv' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Lookup_name'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_set_atomicity' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Group_rank'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Intercomm_merge' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Win_get_errhandler'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_read_at_all_end' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Add_error_class'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Accumulate' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Type_set_attr'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_File_get_errhandler' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Status_set_cancelled'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Graph_neighbors_count' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Info_free'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Pack_external_size' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_get_atomicity'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Type_set_name' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_File_set_info'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to MPI_Graph_create' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference toMPI_Comm_test_inter'
    /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to `MPI_File_create_errhandler'
    collect2: error: ld returned 1 exit status
    make[2]:
    [phonon] Error 1
    make[1]: [CMakeFiles/phonon.dir/all] Error 2
    make:
    [all] Error 2

     
  • Ravishankar Sundararaman

    Hi Igor,

    What version of gcc are you using for this compilation? If it's the new 5.0 dev version, it might boil down to mpi not yet supporting that.

    If so, can you try using gcc 4.8 or 4.9 instead? We know that OpenMPI works fine with that.

    Best,
    Shankar

     
1 2 3 4 > >> (Page 1 of 4)
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.