Нет поддержки C++ pthread в ферме сборки?

Нет поддержки C++ pthread в ферме сборки?

Я пытаюсь получить некоторый код, компилируемый в ферме сборки. Когда я собираю его на своей машине разработки, все идет нормально:

checking if C compiler and POSIX threads work as is... no
checking if C++ 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... yes
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... yes

Но когда я передаю его на сборочную ферму, он не может найти рабочую опцию компилятора для включения поддержки pthread:

[   87s] checking if C compiler and POSIX threads work as is... no
[   87s] checking if C++ compiler and POSIX threads work as is... no
[   87s] checking if C compiler and POSIX threads work with -Kthread... no
[   87s] checking if C compiler and POSIX threads work with -kthread... no
[   87s] checking if C compiler and POSIX threads work with -pthread... yes
[   87s] checking if C++ compiler and POSIX threads work with -Kthread... no
[   87s] checking if C++ compiler and POSIX threads work with -kthread... no
[   87s] checking if C++ compiler and POSIX threads work with -pthread... no
[   87s] checking if C++ compiler and POSIX threads work with -pthreads... no
[   87s] checking if C++ compiler and POSIX threads work with -mt... no
[   87s] checking if C++ compiler and POSIX threads work with -mthreads... no
[   87s] checking if C++ compiler and POSIX threads work with -lpthreads... no
[   87s] checking if C++ compiler and POSIX threads work with -llthread... no
[   87s] checking if C++ compiler and POSIX threads work with -lpthread... no
[   87s] checking for pthread_mutexattr_setpshared... yes
[   87s] checking for pthread_condattr_setpshared... yes
[   87s] checking for PTHREAD_MUTEX_ERRORCHECK_NP... yes
[   87s] checking for PTHREAD_MUTEX_ERRORCHECK... yes
[   87s] checking for working POSIX threads package... no
[   87s] configure: WARNING: "*** POSIX threads are not"
[   87s] configure: WARNING: "*** available on your system "
[   87s] configure: error: "*** Can not continue"

В dev-боксе и buildfarm используется одна и та же базовая ОС. Единственное отличие заключается в том, что среда buildfarm очень минимальна: устанавливаются только пакеты, требуемые файлом спецификации, поверх небольшого набора пакетов базовой ОС.

Я не могу вспомнить ни одного «отсутствующего пакета», который мог бы вызвать такое поведение. glibc-* установлен на обоих.

решение1

Фактический кредит/источник:https://forums.opensuse.org/showthread.php/509781-No-C-Pthread-support-inside-OBSот wolfi323

Я столкнулся с похожей проблемой при попытке настроить [Open MPI 3] с помощью:

./configure CC=gcc CXX=gcc FC=gfortran

Ответ wolfi323 на forums.opensuse подразумевает, чтоКомпилятор C++ не был должным образом определен. Я оставил параметры компилятора c/c++ пустыми:

./configure FC=gfortran

Конфигурация сообщила:

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

и завершено.

Дополнительный

Параметр

CC=gcc CXX=g++

дало те же/похожие результаты, что и разрешение ./configure найти компиляторы по умолчанию.

Связанный контент