Sorry that was indeed a wrong file. I attached the right one. On Thursday, January 25, 2018 at 11:25:21 AM UTC-5, Eldar Khattatov wrote: > > Hi, > > Thank you for the reply. > I attached the cmake log file. > > On Wednesday, January 24, 2018 at 11:35:53 PM UTC-5, Matthias Maier wrote: >> >> Hi, >> >> On Wed, Jan 24, 2018, at 11:17 CST, Eldar Khattatov <eld.kh...@gmail.com> >> wrote: >> >> > I forgot to mention, I tried both the development and 8.5.1versions of >> > deal.II and the errors are the same. >> >> The test in question tries to compile a very minimalistic >> >> int main () { return 0; } >> >> with the given compiler, link interface and linker options. >> >> Have a look at <build directory>/CMakeFiles/CMakeErrors.log the detailed >> compiler output of what exactly fails should be at the very bottom. >> >> I am curious what is going wrong. >> >> Best, >> Matthias >> >
-- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Performing C++ SOURCE FILE Test DEAL_II_HAVE_AVX failed with the following output: Change Dir: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp Run Build Command:"/usr/bin/make" "cmTC_ef482/fast" /usr/bin/make -f CMakeFiles/cmTC_ef482.dir/build.make CMakeFiles/cmTC_ef482.dir/build make[1]: Entering directory '/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_ef482.dir/src.cxx.o /usr/bin/c++ -DDEAL_II_HAVE_AVX -o CMakeFiles/cmTC_ef482.dir/src.cxx.o -c /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:3:6: error: #error "__AVX__ flag not set, no support for AVX" #error "__AVX__ flag not set, no support for AVX" ^~~~~ /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx: In function ‘int main()’: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:35:9: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi] b = _mm256_set1_pd ((volatile double)(2.25)); ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CMakeFiles/cmTC_ef482.dir/build.make:65: recipe for target 'CMakeFiles/cmTC_ef482.dir/src.cxx.o' failed make[1]: *** [CMakeFiles/cmTC_ef482.dir/src.cxx.o] Error 1 make[1]: Leaving directory '/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp' Makefile:126: recipe for target 'cmTC_ef482/fast' failed make: *** [cmTC_ef482/fast] Error 2 Return value: 1 Source file was: #ifndef __AVX__ #error "__AVX__ flag not set, no support for AVX" #endif #include <immintrin.h> class VectorizedArray { public: VectorizedArray & operator += (const VectorizedArray &vec) { data = _mm256_add_pd (data, vec.data); return *this; } __m256d data; }; inline VectorizedArray operator + (const VectorizedArray &u, const VectorizedArray &v) { VectorizedArray tmp = u; return tmp+=v; } int main() { __m256d a, b; const unsigned int vector_bytes = sizeof(__m256d); const int n_vectors = vector_bytes/sizeof(double); __m256d * data = reinterpret_cast<__m256d*>(_mm_malloc (2*vector_bytes, vector_bytes)); double * ptr = reinterpret_cast<double*>(&a); ptr[0] = (volatile double)(1.0); for (int i=1; i<n_vectors; ++i) ptr[i] = 0.0; b = _mm256_set1_pd ((volatile double)(2.25)); data[0] = _mm256_add_pd (a, b); data[1] = _mm256_mul_pd (b, data[0]); ptr = reinterpret_cast<double*>(&data[1]); unsigned int return_value = 0; if (ptr[0] != 7.3125) return_value = 1; for (int i=1; i<n_vectors; ++i) if (ptr[i] != 5.0625) return_value = 1; VectorizedArray c, d, e; c.data = b; d.data = b; e = c + d; ptr = reinterpret_cast<double*>(&e.data); for (int i=0; i<n_vectors; ++i) if (ptr[i] != 4.5) return_value = 1; _mm_free (data); return return_value; } Performing C++ SOURCE FILE Test DEAL_II_HAVE_AVX512 failed with the following output: Change Dir: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp Run Build Command:"/usr/bin/make" "cmTC_c6d9d/fast" /usr/bin/make -f CMakeFiles/cmTC_c6d9d.dir/build.make CMakeFiles/cmTC_c6d9d.dir/build make[1]: Entering directory '/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_c6d9d.dir/src.cxx.o /usr/bin/c++ -DDEAL_II_HAVE_AVX512 -o CMakeFiles/cmTC_c6d9d.dir/src.cxx.o -c /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:3:6: error: #error "__AVX512F__ flag not set, no support for AVX512" #error "__AVX512F__ flag not set, no support for AVX512" ^~~~~ /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx: In function ‘int main()’: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:18:9: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi] b = _mm512_set1_pd(x); ~~^~~~~~~~~~~~~~~~~~~ CMakeFiles/cmTC_c6d9d.dir/build.make:65: recipe for target 'CMakeFiles/cmTC_c6d9d.dir/src.cxx.o' failed make[1]: *** [CMakeFiles/cmTC_c6d9d.dir/src.cxx.o] Error 1 make[1]: Leaving directory '/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp' Makefile:126: recipe for target 'cmTC_c6d9d/fast' failed make: *** [cmTC_c6d9d/fast] Error 2 Return value: 1 Source file was: #ifndef __AVX512F__ #error "__AVX512F__ flag not set, no support for AVX512" #endif #include <immintrin.h> int main() { __m512d a, b; const unsigned int vector_bytes = sizeof(__m512d); const int n_vectors = vector_bytes/sizeof(double); __m512d * data = reinterpret_cast<__m512d*>(_mm_malloc (2*vector_bytes, vector_bytes)); double * ptr = reinterpret_cast<double*>(&a); ptr[0] = (volatile double)(1.0); for (int i=1; i<n_vectors; ++i) ptr[i] = 0.0; const volatile double x = 2.25; b = _mm512_set1_pd(x); data[0] = _mm512_add_pd (a, b); data[1] = _mm512_mul_pd (b, data[0]); ptr = reinterpret_cast<double*>(&data[1]); unsigned int return_value = 0; if (ptr[0] != 7.3125) return_value = 1; for (int i=1; i<n_vectors; ++i) if (ptr[i] != 5.0625) return_value = 1; _mm_free (data); return return_value; } Performing C++ SOURCE FILE Test DEAL_II_HAVE_COMPLEX_OPERATOR_OVERLOADS failed with the following output: Change Dir: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp Run Build Command:"/usr/bin/make" "cmTC_19d56/fast" /usr/bin/make -f CMakeFiles/cmTC_19d56.dir/build.make CMakeFiles/cmTC_19d56.dir/build make[1]: Entering directory '/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_19d56.dir/src.cxx.o /usr/bin/c++ -DDEAL_II_HAVE_COMPLEX_OPERATOR_OVERLOADS -std=c++17 -o CMakeFiles/cmTC_19d56.dir/src.cxx.o -c /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx: In function ‘int main()’: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:6:14: error: no match for ‘operator*’ (operand types are ‘double’ and ‘std::complex<float>’) double() * std::complex<float>(); ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:404:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const _Tp&, const std::complex<_Tp>&) operator*(const _Tp& __x, const complex<_Tp>& __y) ^~~~~~~~ /usr/include/c++/7/complex:404:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:6:36: note: deduced conflicting types for parameter ‘_Tp’ (‘double’ and ‘float’) double() * std::complex<float>(); ^ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:395:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const _Tp&) operator*(const complex<_Tp>& __x, const _Tp& __y) ^~~~~~~~ /usr/include/c++/7/complex:395:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:6:36: note: mismatched types ‘const std::complex<_Tp>’ and ‘double’ double() * std::complex<float>(); ^ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:386:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const std::complex<_Tp>&) operator*(const complex<_Tp>& __x, const complex<_Tp>& __y) ^~~~~~~~ /usr/include/c++/7/complex:386:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:6:36: note: mismatched types ‘const std::complex<_Tp>’ and ‘double’ double() * std::complex<float>(); ^ /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:7:27: error: no match for ‘operator*’ (operand types are ‘std::complex<float>’ and ‘double’) std::complex<float>() * double(); ~~~~~~~~~~~~~~~~~^~~~~~~~~~ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:404:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const _Tp&, const std::complex<_Tp>&) operator*(const _Tp& __x, const complex<_Tp>& __y) ^~~~~~~~ /usr/include/c++/7/complex:404:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:7:36: note: mismatched types ‘const std::complex<_Tp>’ and ‘double’ std::complex<float>() * double(); ^ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:395:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const _Tp&) operator*(const complex<_Tp>& __x, const _Tp& __y) ^~~~~~~~ /usr/include/c++/7/complex:395:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:7:36: note: deduced conflicting types for parameter ‘const _Tp’ (‘float’ and ‘double’) std::complex<float>() * double(); ^ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:386:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const std::complex<_Tp>&) operator*(const complex<_Tp>& __x, const complex<_Tp>& __y) ^~~~~~~~ /usr/include/c++/7/complex:386:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:7:36: note: mismatched types ‘const std::complex<_Tp>’ and ‘double’ std::complex<float>() * double(); ^ /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:8:13: error: no match for ‘operator*’ (operand types are ‘float’ and ‘std::complex<double>’) float() * std::complex<double>(); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:404:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const _Tp&, const std::complex<_Tp>&) operator*(const _Tp& __x, const complex<_Tp>& __y) ^~~~~~~~ /usr/include/c++/7/complex:404:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:8:36: note: deduced conflicting types for parameter ‘_Tp’ (‘float’ and ‘double’) float() * std::complex<double>(); ^ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:395:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const _Tp&) operator*(const complex<_Tp>& __x, const _Tp& __y) ^~~~~~~~ /usr/include/c++/7/complex:395:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:8:36: note: mismatched types ‘const std::complex<_Tp>’ and ‘float’ float() * std::complex<double>(); ^ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:386:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const std::complex<_Tp>&) operator*(const complex<_Tp>& __x, const complex<_Tp>& __y) ^~~~~~~~ /usr/include/c++/7/complex:386:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:8:36: note: mismatched types ‘const std::complex<_Tp>’ and ‘float’ float() * std::complex<double>(); ^ /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:9:28: error: no match for ‘operator*’ (operand types are ‘std::complex<double>’ and ‘float’) std::complex<double>() * float(); ~~~~~~~~~~~~~~~~~~^~~~~~~~~ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:404:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const _Tp&, const std::complex<_Tp>&) operator*(const _Tp& __x, const complex<_Tp>& __y) ^~~~~~~~ /usr/include/c++/7/complex:404:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:9:36: note: mismatched types ‘const std::complex<_Tp>’ and ‘float’ std::complex<double>() * float(); ^ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:395:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const _Tp&) operator*(const complex<_Tp>& __x, const _Tp& __y) ^~~~~~~~ /usr/include/c++/7/complex:395:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:9:36: note: deduced conflicting types for parameter ‘const _Tp’ (‘double’ and ‘float’) std::complex<double>() * float(); ^ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:386:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const std::complex<_Tp>&) operator*(const complex<_Tp>& __x, const complex<_Tp>& __y) ^~~~~~~~ /usr/include/c++/7/complex:386:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:9:36: note: mismatched types ‘const std::complex<_Tp>’ and ‘float’ std::complex<double>() * float(); ^ /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:10:28: error: no match for ‘operator*’ (operand types are ‘std::complex<double>’ and ‘std::complex<float>’) std::complex<double>() * std::complex<float>(); ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:404:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const _Tp&, const std::complex<_Tp>&) operator*(const _Tp& __x, const complex<_Tp>& __y) ^~~~~~~~ /usr/include/c++/7/complex:404:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:10:50: note: deduced conflicting types for parameter ‘_Tp’ (‘std::complex<double>’ and ‘float’) std::complex<double>() * std::complex<float>(); ^ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:395:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const _Tp&) operator*(const complex<_Tp>& __x, const _Tp& __y) ^~~~~~~~ /usr/include/c++/7/complex:395:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:10:50: note: deduced conflicting types for parameter ‘const _Tp’ (‘double’ and ‘std::complex<float>’) std::complex<double>() * std::complex<float>(); ^ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:386:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const std::complex<_Tp>&) operator*(const complex<_Tp>& __x, const complex<_Tp>& __y) ^~~~~~~~ /usr/include/c++/7/complex:386:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:10:50: note: deduced conflicting types for parameter ‘_Tp’ (‘double’ and ‘float’) std::complex<double>() * std::complex<float>(); ^ /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:11:27: error: no match for ‘operator*’ (operand types are ‘std::complex<float>’ and ‘std::complex<double>’) std::complex<float>() * std::complex<double>(); ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:404:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const _Tp&, const std::complex<_Tp>&) operator*(const _Tp& __x, const complex<_Tp>& __y) ^~~~~~~~ /usr/include/c++/7/complex:404:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:11:50: note: deduced conflicting types for parameter ‘_Tp’ (‘std::complex<float>’ and ‘double’) std::complex<float>() * std::complex<double>(); ^ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:395:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const _Tp&) operator*(const complex<_Tp>& __x, const _Tp& __y) ^~~~~~~~ /usr/include/c++/7/complex:395:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:11:50: note: deduced conflicting types for parameter ‘const _Tp’ (‘float’ and ‘std::complex<double>’) std::complex<float>() * std::complex<double>(); ^ In file included from /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:2:0: /usr/include/c++/7/complex:386:5: note: candidate: template<class _Tp> std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const std::complex<_Tp>&) operator*(const complex<_Tp>& __x, const complex<_Tp>& __y) ^~~~~~~~ /usr/include/c++/7/complex:386:5: note: template argument deduction/substitution failed: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx:11:50: note: deduced conflicting types for parameter ‘_Tp’ (‘float’ and ‘double’) std::complex<float>() * std::complex<double>(); ^ CMakeFiles/cmTC_19d56.dir/build.make:65: recipe for target 'CMakeFiles/cmTC_19d56.dir/src.cxx.o' failed make[1]: *** [CMakeFiles/cmTC_19d56.dir/src.cxx.o] Error 1 make[1]: Leaving directory '/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp' Makefile:126: recipe for target 'cmTC_19d56/fast' failed make: *** [cmTC_19d56/fast] Error 2 Source file was: #include <complex> int main() { double() * std::complex<float>(); std::complex<float>() * double(); float() * std::complex<double>(); std::complex<double>() * float(); std::complex<double>() * std::complex<float>(); std::complex<float>() * std::complex<double>(); return 0; } Determining if the pthread_create exist failed with the following output: Change Dir: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp Run Build Command:"/usr/bin/make" "cmTC_493eb/fast" /usr/bin/make -f CMakeFiles/cmTC_493eb.dir/build.make CMakeFiles/cmTC_493eb.dir/build make[1]: Entering directory '/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_493eb.dir/CheckSymbolExists.c.o /usr/bin/cc -o CMakeFiles/cmTC_493eb.dir/CheckSymbolExists.c.o -c /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_493eb /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_493eb.dir/link.txt --verbose=1 /usr/bin/cc -rdynamic CMakeFiles/cmTC_493eb.dir/CheckSymbolExists.c.o -o cmTC_493eb CMakeFiles/cmTC_493eb.dir/CheckSymbolExists.c.o: In function `main': CheckSymbolExists.c:(.text+0x1b): undefined reference to `pthread_create' collect2: error: ld returned 1 exit status CMakeFiles/cmTC_493eb.dir/build.make:97: recipe for target 'cmTC_493eb' failed make[1]: *** [cmTC_493eb] Error 1 make[1]: Leaving directory '/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp' Makefile:126: recipe for target 'cmTC_493eb/fast' failed make: *** [cmTC_493eb/fast] Error 2 File /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include <pthread.h> int main(int argc, char** argv) { (void)argv; #ifndef pthread_create return ((int*)(&pthread_create))[argc]; #else (void)argc; return 0; #endif } Determining if the function pthread_create exists in the pthreads failed with the following output: Change Dir: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp Run Build Command:"/usr/bin/make" "cmTC_60093/fast" /usr/bin/make -f CMakeFiles/cmTC_60093.dir/build.make CMakeFiles/cmTC_60093.dir/build make[1]: Entering directory '/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_60093.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_60093.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.9/Modules/CheckFunctionExists.c Linking C executable cmTC_60093 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_60093.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -rdynamic CMakeFiles/cmTC_60093.dir/CheckFunctionExists.c.o -o cmTC_60093 -lpthreads /usr/bin/ld: cannot find -lpthreads collect2: error: ld returned 1 exit status CMakeFiles/cmTC_60093.dir/build.make:97: recipe for target 'cmTC_60093' failed make[1]: *** [cmTC_60093] Error 1 make[1]: Leaving directory '/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp' Makefile:126: recipe for target 'cmTC_60093/fast' failed make: *** [cmTC_60093/fast] Error 2 Performing C++ SOURCE FILE Test SCALAPACK_LIBRARY_HAS_BLACS failed with the following output: Change Dir: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp Run Build Command:"/usr/bin/make" "cmTC_77c31/fast" /usr/bin/make -f CMakeFiles/cmTC_77c31.dir/build.make CMakeFiles/cmTC_77c31.dir/build make[1]: Entering directory '/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_77c31.dir/src.cxx.o /usr/bin/c++ -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi/opal/mca/event/libevent2022/libevent/include -I/usr/lib/x86_64-linux-gnu/openmpi/include -DSCALAPACK_LIBRARY_HAS_BLACS -o CMakeFiles/cmTC_77c31.dir/src.cxx.o -c /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx Linking CXX executable cmTC_77c31 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_77c31.dir/link.txt --verbose=1 /usr/bin/c++ -DSCALAPACK_LIBRARY_HAS_BLACS -rdynamic CMakeFiles/cmTC_77c31.dir/src.cxx.o -o cmTC_77c31 -Wl,-rpath,/usr/lib/x86_64-linux-gnu/openmpi/lib /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_usempif08.so /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_usempi_ignore_tkr.so /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_mpifh.so /usr/lib/libmpi.so /usr/lib/x86_64-linux-gnu/libscalapack-openmpi.so /usr/lib/x86_64-linux-gnu/liblapack.so /usr/lib/x86_64-linux-gnu/libblas.so -lgfortran -lquadmath -lm -lc -lgcc_s -lgcc CMakeFiles/cmTC_77c31.dir/src.cxx.o: In function `main': src.cxx:(.text+0x10): undefined reference to `Csys2blacs_handle' collect2: error: ld returned 1 exit status CMakeFiles/cmTC_77c31.dir/build.make:105: recipe for target 'cmTC_77c31' failed make[1]: *** [cmTC_77c31] Error 1 make[1]: Leaving directory '/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp' Makefile:126: recipe for target 'cmTC_77c31/fast' failed make: *** [cmTC_77c31/fast] Error 2 Source file was: #include <mpi.h> extern "C" { int Csys2blacs_handle(MPI_Comm comm); } int main() { const int res = Csys2blacs_handle(MPI_COMM_WORLD); } Performing C++ SOURCE FILE Test DEAL_II_HAVE_USABLE_FLAGS_DEBUG failed with the following output: Change Dir: /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp Run Build Command:"/usr/bin/make" "cmTC_48103/fast" /usr/bin/make -f CMakeFiles/cmTC_48103.dir/build.make CMakeFiles/cmTC_48103.dir/build make[1]: Entering directory '/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_48103.dir/src.cxx.o /usr/bin/c++ -DDEAL_II_HAVE_USABLE_FLAGS_DEBUG -pedantic -fPIC -Wall -Wextra -Wpointer-arith -Wwrite-strings -Wsynth -Wsign-compare -Wswitch -Woverloaded-virtual -Wno-placement-new -Wno-deprecated-declarations -Wno-literal-suffix -fopenmp-simd -std=c++17 -Wno-parentheses -Wno-unused-local-typedefs -Og -ggdb -Wa,--compress-debug-sections -o CMakeFiles/cmTC_48103.dir/src.cxx.o -c /home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp/src.cxx Linking CXX executable cmTC_48103 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_48103.dir/link.txt --verbose=1 /usr/bin/c++ -DDEAL_II_HAVE_USABLE_FLAGS_DEBUG -pedantic -fPIC -Wall -Wextra -Wpointer-arith -Wwrite-strings -Wsynth -Wsign-compare -Wswitch -Woverloaded-virtual -Wno-placement-new -Wno-deprecated-declarations -Wno-literal-suffix -fopenmp-simd -std=c++17 -Wno-parentheses -Wno-unused-local-typedefs -Og -ggdb -Wa,--compress-debug-sections -rdynamic CMakeFiles/cmTC_48103.dir/src.cxx.o -o cmTC_48103 -Wl,-rpath,/usr/lib/x86_64-linux-gnu/openmpi/lib -rdynamic -fuse-ld=gold -pthread -ggdb /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so -ldl /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libumfpack.so /usr/lib/x86_64-linux-gnu/libcholmod.so /usr/lib/x86_64-linux-gnu/libccolamd.so /usr/lib/x86_64-linux-gnu/libcolamd.so /usr/lib/x86_64-linux-gnu/libcamd.so /usr/lib/x86_64-linux-gnu/libsuitesparseconfig.so /usr/lib/x86_64-linux-gnu/libamd.so -lrt /usr/lib/x86_64-linux-gnu/libparpack.so /usr/lib/x86_64-linux-gnu/libarpack.so /usr/lib/x86_64-linux-gnu/libboost_iostreams.so /usr/lib/x86_64-linux-gnu/libboost_serialization.so /usr/lib/x86_64-linux-gnu/libboost_system.so /usr/lib/x86_64-linux-gnu/libboost_thread.so /usr/lib/x86_64-linux-gnu/libboost_regex.so /usr/lib/x86_64-linux-gnu/libboost_chrono.so /usr/lib/x86_64-linux-gnu/libboost_date_time.so /usr/lib/x86_64-linux-gnu/libboost_atomic.so -lpthread /usr/lib/x86_64-linux-gnu/libnetcdf_c++.so /usr/lib/x86_64-linux-gnu/libnetcdf.so /usr/lib/x86_64-linux-gnu/libscalapack-openmpi.so /usr/lib/x86_64-linux-gnu/liblapack.so /usr/lib/x86_64-linux-gnu/libblas.so -lgfortran -lquadmath -lm -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/libblacs-openmpi.so /usr/lib/x86_64-linux-gnu/libblacsCinit-openmpi.so /usr/lib/x86_64-linux-gnu/libblacsF77init-openmpi.so /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_usempif08.so /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_usempi_ignore_tkr.so /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_mpifh.so /usr/lib/libmpi.so /usr/lib/x86_64-linux-gnu/libslepc.so /usr/lib/x86_64-linux-gnu/libpetsc.so /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_uses_threads' /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_class_initialize' /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so: error: undefined reference to 'opal_list_item_t_class' collect2: error: ld returned 1 exit status CMakeFiles/cmTC_48103.dir/build.make:130: recipe for target 'cmTC_48103' failed make[1]: *** [cmTC_48103] Error 1 make[1]: Leaving directory '/home/username/Downloads/dealii/build/CMakeFiles/CMakeTmp' Makefile:126: recipe for target 'cmTC_48103/fast' failed make: *** [cmTC_48103/fast] Error 2 Source file was: int main(){ return 0; }