Компиляция OpenMPI с помощью AOCC clang (ошибка конфигурации: нет рабочего пакета posix pthread) - PullRequest
0 голосов
/ 01 декабря 2018

Я пытаюсь собрать OpenMPI на восьмиъядерном процессоре AMD Ryzen (1700).Я скачал и установил комплект AOCC компиляторов .Версия OpenMPI, которую я пытаюсь скомпилировать, является клоном главной ветви .

Шаги, которые привели к проблеме:

  1. source setenv_AOCC.sh (это устанавливает пакет AOCC (загрязняя вашу среду))
  2. cd в каталог сборки
  3. $ ompisrcdir / configure CC = clang --prefix = "$ HOME / $ localmpiinst"

Настройка продолжается до тех пор, пока:

checking for _SC_NPROCESSORS_ONLN... yes
checking whether byte ordering is bigendian... no
checking for broken qsort... no
checking if C compiler and POSIX threads work as is... no
checking if C++ compiler and POSIX threads work as is... no
checking if Fortran compiler and POSIX threads work as is... no
checking if C compiler and POSIX threads work with -Kthread... no
checking if C compiler and POSIX threads work with -kthread... no
checking if C compiler and POSIX threads work with -pthread... yes
checking if C++ compiler and POSIX threads work with -Kthread... no
checking if C++ compiler and POSIX threads work with -kthread... no
checking if C++ compiler and POSIX threads work with -pthread... no
checking if C++ compiler and POSIX threads work with -pthreads... no
checking if C++ compiler and POSIX threads work with -mt... no
checking if C++ compiler and POSIX threads work with -mthreads... no
checking if Fortran compiler and POSIX threads work with -Kthread... no
checking if Fortran compiler and POSIX threads work with -kthread... no
checking if Fortran compiler and POSIX threads work with -pthread... yes
checking if C++ compiler and POSIX threads work with -lpthreads... no
checking if C++ compiler and POSIX threads work with -llthread... no
checking if C++ compiler and POSIX threads work with -lpthread... no
checking for pthread_mutexattr_setpshared... yes
checking for pthread_condattr_setpshared... yes
checking for PTHREAD_MUTEX_ERRORCHECK_NP... yes
checking for PTHREAD_MUTEX_ERRORCHECK... yes
checking for working POSIX threads package... no
configure: WARNING: "*** POSIX threads are not"
configure: WARNING: "*** available on your system "
configure: error: "*** Can not continue"

Итак, он не проверяет поддержку потоков POSIX c ++.

Вывод clang --version:

AOCC.LLVM.1.3.0.B34.2018_10_22 clang version 7.0.0 (CLANG: Jenkins 
AOCC_1_3_0_Release-Build#34) (based on LLVM AOCC.LLVM.1.3.0.B34.2018_10_22)
Target: x86_64-unknown-linux-gnu

1 Ответ

0 голосов
/ 01 декабря 2018

Хорошо, решение, на самом деле, простое.

Я должен был поставить флаг CXX для скрипта конфигурации.Итак, вместо

$ompisrcdir/configure CC=clang --prefix="$HOME/$localmpiinst"

работают следующие

$ompisrcdir/configure CC=clang **CXX=clang++** --prefix="$HOME/$localmpiinst"
...