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".
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
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:
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?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
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".
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.
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
Much thanks, Shankar. I shall try to do it tomorrow, as now its too late for work:)
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.
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
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
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
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
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
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
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
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: version
CXXABI_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: version
GLIBCXX_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: version
GLIBCXX_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
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?
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
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
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
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.
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
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.
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
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
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
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 to
MPI_Win_unlock'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Group_excl' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Allgather'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Recv_init' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_Comm_get_name'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Irsend' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Init_thread'libjdftx.so: undefined reference to
MPI_Bcast' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Ssend'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Buffer_attach' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_Win_free'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Group_size' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_Win_get_name'libjdftx.so: undefined reference to
MPI_File_delete' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_Unpack_external'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Probe' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_File_get_group'libjdftx.so: undefined reference to
MPI_Send' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_Isend'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Unpack' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPIR_Keyval_set_proxy'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_File_write_ordered_end' libjdftx.so: undefined reference to
MPI_File_write'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Iprobe' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_Alltoall'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Cancel' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Initialized'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Scatterv' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Open_port'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Issend' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Graphdims_get'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Wtick' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Get_address'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Info_get' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_Get'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_File_write_all' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPIR_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 to
MPI_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 to
MPI_Type_contiguous'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Cart_sub' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Scatter'libjdftx.so: undefined reference to
MPI_File_open' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_File_seek_shared'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Type_free' libjdftx.so: undefined reference to
MPI_Barrier'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Win_start' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_Rsend_init'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Group_incl' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Publish_name'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Bsend_init' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Sendrecv'libjdftx.so: undefined reference to
MPI_Finalize' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Request_free'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Gather' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_File_iwrite_at'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Rsend' libjdftx.so: undefined reference to
MPI_Recv'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Comm_create_keyval' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Graph_get'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Comm_group' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Comm_create'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Cart_get' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Finalized'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_File_iread_shared' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_Graph_map'libjdftx.so: undefined reference to
MPI_File_read' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_Cart_map'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Exscan' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_Errhandler_free'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_File_get_amode' libjdftx.so: undefined reference to
MPI_Abort'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Unpublish_name' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Intercomm_create'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Cartdim_get' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_Bsend'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Scan' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_Comm_create_errhandler'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_File_get_type_extent' libjdftx.so: undefined reference to
MPI_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 to
MPI_Reduce_local'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Reduce_scatter' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Error_string'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Win_lock' libjdftx.so: undefined reference to
MPI_Allreduce'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Allgatherv' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_Wtime'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Put' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_Status_set_elements'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Comm_get_errhandler' libjdftx.so: undefined reference to
MPI_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 to
MPI_Comm_remote_group'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Wait' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Comm_dup'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Sendrecv_replace' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Alloc_mem'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Irecv' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Alltoallw'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_Free_mem' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Comm_get_attr'libjdftx.so: undefined reference to
MPI_Comm_rank' libjdftx.so: undefined reference to
MPI_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 to
MPI_Info_delete'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Topo_test' libjdftx.so: undefined reference to
MPI_Get_count'libjdftx.so: undefined reference to
MPI_File_seek' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Dims_create'libjdftx.so: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_Comm_set_errhandler' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Ibsend'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Alltoallv' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Op_free'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Comm_connect' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Comm_free'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_File_read_ordered' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Test'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_Start' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_Pcontrol'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_Type_delete_attr' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Gatherv'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_Group_rank' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_Accumulate'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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]: [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 to
MPI_Allreduce'Phonon.cpp:(.text+0x24a): undefined reference to
MPI_Allreduce' CMakeFiles/phonon.dir/phonon/Phonon.cpp.o: In function
Phonon::dump()':Phonon.cpp:(.text+0x26d1): undefined reference to
MPI_Allreduce' Phonon.cpp:(.text+0x2706): undefined reference to
MPI_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 to
MPI_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 to
MPI_Win_unlock'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Group_excl' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Allgather'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Recv_init' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_Comm_get_name'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Irsend' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Init_thread'libjdftx.so: undefined reference to
MPI_Bcast' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Ssend'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Buffer_attach' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_Win_free'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Group_size' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_Win_get_name'libjdftx.so: undefined reference to
MPI_File_delete' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_Unpack_external'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Probe' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_File_get_group'libjdftx.so: undefined reference to
MPI_Send' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_Isend'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Unpack' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPIR_Keyval_set_proxy'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_File_write_ordered_end' libjdftx.so: undefined reference to
MPI_File_write'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Iprobe' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_Alltoall'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Cancel' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Initialized'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Scatterv' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Open_port'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Issend' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Graphdims_get'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Wtick' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Get_address'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Info_get' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_Get'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_File_write_all' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPIR_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 to
MPI_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 to
MPI_Type_contiguous'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Cart_sub' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Scatter'libjdftx.so: undefined reference to
MPI_File_open' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_File_seek_shared'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Type_free' libjdftx.so: undefined reference to
MPI_Barrier'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Win_start' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_Rsend_init'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Group_incl' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Publish_name'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Bsend_init' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Sendrecv'libjdftx.so: undefined reference to
MPI_Finalize' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Request_free'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Gather' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_File_iwrite_at'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Rsend' libjdftx.so: undefined reference to
MPI_Recv'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Comm_create_keyval' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Graph_get'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Comm_group' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Comm_create'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Cart_get' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Finalized'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_File_iread_shared' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_Graph_map'libjdftx.so: undefined reference to
MPI_File_read' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_Cart_map'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Exscan' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_Errhandler_free'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_File_get_amode' libjdftx.so: undefined reference to
MPI_Abort'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Unpublish_name' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Intercomm_create'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Cartdim_get' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_Bsend'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Scan' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_Comm_create_errhandler'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_File_get_type_extent' libjdftx.so: undefined reference to
MPI_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 to
MPI_Reduce_local'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Reduce_scatter' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Error_string'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Win_lock' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Allgatherv'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_Wtime' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Put'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_Status_set_elements' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Comm_get_errhandler'libjdftx.so: undefined reference to
MPI_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 to
MPI_Comm_remote_group' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Wait'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Comm_dup' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Sendrecv_replace'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Alloc_mem' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Irecv'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Alltoallw' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_Free_mem'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Comm_get_attr' libjdftx.so: undefined reference to
MPI_Comm_rank'libjdftx.so: undefined reference to
MPI_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 to
MPI_Info_delete' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Topo_test'libjdftx.so: undefined reference to
MPI_Get_count' libjdftx.so: undefined reference to
MPI_File_seek'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Dims_create' libjdftx.so: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_Comm_set_errhandler'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Ibsend' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Alltoallv'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Op_free' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Comm_connect'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Comm_free' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_File_read_ordered'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Test' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_Start'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_Pcontrol' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_Type_delete_attr'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_Gatherv' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_Group_rank'/usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_Accumulate' /usr/lib64/mpich2/lib/libmpichcxx.so.1: undefined reference to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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 to
MPI_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
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