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

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 ответ1

0

Фактический кредит / источник: 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 нашел компиляторы по умолчанию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .