Opened 11 years ago
Closed 10 years ago
#6354 closed Bugs (fixed)
PGI: Compiler threading support is not turned on
| Reported by: | viboes | Owned by: | viboes |
|---|---|---|---|
| Milestone: | Boost 1.50.0 | Component: | thread |
| Version: | Boost Development Trunk | Severity: | Problem |
| Keywords: | build threading=multi | Cc: |
Description
The following tester is reporting this compile error
Test output: Sandia-pgi-11.9 - thread - test_barrier / pgi-11.9
Rev 76218 / Thu, 29 Dec 2011 17:44:28 +0000
Report Time: Tue, 3 Jan 2012 15:45:59 +0000
Compile [2011-12-29 19:29:47 UTC]: fail
"pgCC" -INLINE:none -Kieee -fpic -fPIC -gopt -Minform=warn -DBOOST_ALL_NO_LIB=1 -DBOOST_TEST_NO_AUTO_LINK=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_DLL=1 -D__need_IOV_MAX -I".." -c -o "/scratch/kbelco/boost/results/boost/bin.v2/libs/thread/test/test_barrier.test/pgi-11.9/debug/threading-multi/test_barrier.o" "../libs/thread/test/test_barrier.cpp"
"../boost/config/requires_threads.hpp", line 86: catastrophic error: #error
directive: "Compiler threading support is not turned on. Please
consult your compiler's documentation for the appropriate options to
use"
# error "Compiler threading support is not turned on. Please consult your compiler's documentation for the appropriate options to use"
^
1 catastrophic error detected in the compilation of "../libs/thread/test/test_barrier.cpp".
Compilation terminated.
Maybe the build is setting threading=single and Boost.Thread doesn't force threading=multi or the selection in the config file doesn't takes in account the PGI compiler.
Change History (7)
comment:1 by , 11 years ago
comment:2 by , 11 years ago
Just want to chime in and say that I see the same compiler errors compiling my application with pgCC. I hope this gets resolved, I'd like to use pgCC, but for now have to use GNU C++ due to this issue.
Thanks. reddell at uw.edu
comment:3 by , 11 years ago
boost/config/compiler/pgi.hpp defines BOOST_HAS_PTHREADS but not BOOST_HAS_THREADS, resulting in failure in the requires_threads.hpp header mentioned in the report.
As far as I can tell, there's no particular compiler flag needed to enable threading in current PGI versions. Simply hacking in a
#define BOOST_HAS_THREADS
in the pgi.hpp header seems to have done the trick for threading on my tested configuration (11.8).
comment:5 by , 11 years ago
| Milestone: | To Be Determined → Boost 1.50.0 |
|---|---|
| Status: | new → assigned |
Thanks for the analysis. I will see if we can add this soon.
comment:7 by , 10 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
It seems this is working now.
Committed in release branch at [78543]

Committed #76283
to see if this is a Thread issue.