Hi, I am having trouble building Boost 1_70_0 with PGI 18.5 on a Linux CentOS 7 system, and I am wondering if anyone has suggestions about how to get it working. I spent some time searching online for answers, but didn’t find anything recent that applied to my problem. I am a novice with boost, and so am not sure where to start digging for solutions. I have no issues with GCC or Intel compilers. My procedure, after I untar and cd into the boost directory, is as follows: ./bootstrap.sh --with-toolset=pgi —prefix=/path/to/install/boost export BUILD_TYPE=complete export LIBRARY_NAME=versioned export LIBRARY_TARGETS=shared,static ./b2 -j 12 install --build-type=${BUILD_TYPE} --layout=${LIBRARY_NAME} --target=${LIBRARY_TARGETS} This procedure appears to work fine for the intel-linux and gcc toolsets. But, for pgi, I get this: ==================================== +./bootstrap.sh --with-toolset=pgi --prefix=/path/to/install/boost Building Boost.Build engine with toolset pgi... tools/build/src/engine/bin.linuxx86_64/b2 Detecting Python version... 2.7 Detecting Python root... /usr Unicode/ICU support for Boost.Regex?... /usr Generating Boost.Build configuration in project-config.jam for pgi... Bootstrapping is done. To build, run: ./b2 To generate header files, run: ./b2 headers To adjust configuration, edit 'project-config.jam'. Further information: - Command line help: ./b2 --help - Getting started guide: http://www.boost.org/more/getting_started/unix-variants.html - Boost.Build documentation: http://www.boost.org/build/ + export BUILD_TYPE=complete + BUILD_TYPE=complete + export LIBRARY_NAME=versioned + LIBRARY_NAME=versioned + export LIBRARY_TARGETS=shared,static + LIBRARY_TARGETS=shared,static + ./b2 -j 12 install --build-type=complete --layout=versioned --target=shared,static Performing configuration checks - default address-model : none - default architecture : none /scratch4/BMC/gsd-hpcs/Christopher.W.Harrop/bass-develop/build/boost/1.70.0/pgi/18.5/tools/build/src/tools/common.jam:977: in toolset-tag *** argument error * rule numbers.less ( n1 n2 ) * called with: ( 4 ) * missing argument n2 ==================================== Based on some suggestions I found online from others having similar errors, I edited tools/build/src/tools/common.jam to comment out these lines (977-980): # From GCC 5, versioning changes and minor becomes patch # if $(tag) = gcc && [ numbers.less 4 $(version[1]) ] # { # version = $(version[1]) ; # } This results in the following failure, which I’ve truncated because it’s really long: ==================================== + ./bootstrap.sh --with-toolset=pgi --prefix=/scratch4/BMC/gsd-hpcs/Christopher.W.Harrop/bass-develop/opt/boost/1.70.0/pgi/18.5 Building Boost.Build engine with toolset pgi... tools/build/src/engine/bin.linuxx86_64/b2 Detecting Python version... 2.7 Detecting Python root... /usr Unicode/ICU support for Boost.Regex?... /usr Generating Boost.Build configuration in project-config.jam for pgi... Bootstrapping is done. To build, run: ./b2 To generate header files, run: ./b2 headers To adjust configuration, edit 'project-config.jam'. Further information: - Command line help: ./b2 --help - Getting started guide: http://www.boost.org/more/getting_started/unix-variants.html - Boost.Build documentation: http://www.boost.org/build/ + export BUILD_TYPE=complete + BUILD_TYPE=complete + export LIBRARY_NAME=versioned + LIBRARY_NAME=versioned + export LIBRARY_TARGETS=shared,static + LIBRARY_TARGETS=shared,static + ./b2 -j 12 install --build-type=complete --layout=versioned --target=shared,static Performing configuration checks - default address-model : none - default architecture : none error: No best alternative for libs/context/build/asm_sources next alternative: required properties: <abi>aapcs <address-model>32 <architecture>arm <binary-format>elf <threading>multi <toolset>clang not matched next alternative: required properties: <abi>aapcs <address-model>32 <architecture>arm <binary-format>elf <threading>multi <toolset>gcc not matched next alternative: required properties: <abi>aapcs <address-model>32 <architecture>arm <binary-format>elf <threading>multi <toolset>qcc not matched next alternative: required properties: <abi>aapcs <address-model>32 <architecture>arm <binary-format>mach-o <threading>multi <toolset>clang not matched next alternative: required properties: <abi>aapcs <address-model>32 <architecture>arm <binary-format>mach-o <threading>multi <toolset>darwin not matched next alternative: required properties: <abi>aapcs <address-model>32 <architecture>arm <binary-format>pe <threading>multi <toolset>msvc not matched next alternative: required properties: <abi>aapcs <address-model>64 <architecture>arm <binary-format>elf <threading>multi <toolset>clang not matched next alternative: required properties: <abi>aapcs <address-model>64 <architecture>arm <binary-format>elf <threading>multi <toolset>gcc not matched next alternative: required properties: <abi>aapcs <address-model>64 <architecture>arm <binary-format>mach-o <threading>multi <toolset>clang not matched next alternative: required properties: <abi>aapcs <address-model>64 <architecture>arm <binary-format>mach-o <threading>multi <toolset>darwin not matched next alternative: required properties: <abi>o32 <address-model>32 <architecture>mips1 <binary-format>elf <threading>multi <toolset>clang not matched next alternative: required properties: <abi>o32 <address-model>32 <architecture>mips1 <binary-format>elf <threading>multi <toolset>gcc not matched next alternative: required properties: <abi>n64 <address-model>64 <architecture>mips1 <binary-format>elf <threading>multi <toolset>clang not matched next alternative: required properties: <abi>n64 <address-model>64 <architecture>mips1 <binary-format>elf <threading>multi <toolset>gcc not matched next alternative: required properties: <abi>sysv <address-model>32 <architecture>power <binary-format>elf <threading>multi <toolset>clang not matched next alternative: required properties: <abi>sysv <address-model>32 <architecture>power <binary-format>elf <threading>multi <toolset>gcc not matched next alternative: required properties: <abi>sysv <address-model>32 <architecture>power <binary-format>mach-o <threading>multi <toolset>darwin not matched next alternative: required properties: <abi>sysv <address-model>32 <architecture>power <binary-format>xcoff <threading>multi <toolset>clang not matched next alternative: required properties: <abi>sysv <address-model>32 <architecture>power <binary-format>xcoff <threading>multi <toolset>gcc not matched next alternative: required properties: <abi>sysv <address-model>64 <architecture>power <binary-format>elf <threading>multi <toolset>clang not matched next alternative: required properties: <abi>sysv <address-model>64 <architecture>power <binary-format>elf <threading>multi <toolset>gcc not matched next alternative: required properties: <abi>sysv <address-model>64 <architecture>power <binary-format>mach-o <threading>multi <toolset>clang not matched next alternative: required properties: <abi>sysv <address-model>64 <architecture>power <binary-format>mach-o <threading>multi <toolset>darwin not matched next alternative: required properties: <abi>sysv <address-model>64 <architecture>power <binary-format>xcoff <threading>multi <toolset>clang not matched next alternative: required properties: <abi>sysv <address-model>64 <architecture>power <binary-format>xcoff <threading>multi <toolset>gcc not matched next alternative: required properties: <abi>sysv <address-model>32_64 <architecture>power <binary-format>mach-o <threading>multi not matched next alternative: required properties: <abi>sysv <address-model>32 <architecture>x86 <binary-format>elf <threading>multi <toolset>clang not matched next alternative: required properties: <abi>sysv <address-model>32 <architecture>x86 <binary-format>elf <threading>multi <toolset>gcc not matched next alternative: required properties: <abi>sysv <address-model>32 <architecture>x86 <binary-format>elf <threading>multi <toolset>intel not matched next alternative: required properties: <abi>sysv <address-model>32 <architecture>x86 <binary-format>mach-o <threading>multi <toolset>clang not matched next alternative: required properties: <abi>sysv <address-model>32 <architecture>x86 <binary-format>mach-o <threading>multi <toolset>darwin not matched next alternative: required properties: <abi>ms <address-model>32 <architecture>x86 <binary-format>pe <threading>multi <toolset>clang not matched next alternative: required properties: <abi>ms <address-model>32 <architecture>x86 <binary-format>pe <threading>multi <toolset>clang-win not matched next alternative: required properties: <abi>ms <address-model>32 <architecture>x86 <binary-format>pe <threading>multi <toolset>gcc not matched next alternative: required properties: <abi>ms <address-model>32 <architecture>x86 <binary-format>pe <threading>multi <toolset>intel not matched next alternative: required properties: <abi>ms <address-model>32 <architecture>x86 <binary-format>pe <threading>multi <toolset>msvc not matched next alternative: required properties: <abi>sysv <address-model>64 <architecture>x86 <binary-format>elf <threading>multi <toolset>clang not matched next alternative: required properties: <abi>sysv <address-model>64 <architecture>x86 <binary-format>elf <threading>multi <toolset>gcc not matched next alternative: required properties: <abi>sysv <address-model>64 <architecture>x86 <binary-format>elf <threading>multi <toolset>intel not matched next alternative: required properties: <abi>sysv <address-model>64 <architecture>x86 <binary-format>mach-o <threading>multi <toolset>clang not matched next alternative: required properties: <abi>sysv <address-model>64 <architecture>x86 <binary-format>mach-o <threading>multi <toolset>darwin not matched next alternative: required properties: <abi>sysv <address-model>64 <architecture>x86 <binary-format>mach-o <threading>multi <toolset>intel not matched next alternative: required properties: <abi>ms <address-model>64 <architecture>x86 <binary-format>pe <threading>multi <toolset>clang not matched next alternative: required properties: <abi>ms <address-model>64 <architecture>x86 <binary-format>pe <threading>multi <toolset>clang-win not matched next alternative: required properties: <abi>ms <address-model>64 <architecture>x86 <binary-format>pe <threading>multi <toolset>gcc not matched next alternative: required properties: <abi>ms <address-model>64 <architecture>x86 <binary-format>pe <threading>multi <toolset>intel not matched next alternative: required properties: <abi>ms <address-model>64 <architecture>x86 <binary-format>pe <threading>multi <toolset>msvc not matched next alternative: required properties: <abi>x32 <address-model>64 <architecture>x86 <binary-format>elf <threading>multi <toolset>clang not matched next alternative: required properties: <abi>x32 <address-model>64 <architecture>x86 <binary-format>elf <threading>multi <toolset>gcc not matched next alternative: required properties: <abi>x32 <address-model>64 <architecture>x86 <binary-format>elf <threading>multi <toolset>intel not matched next alternative: required properties: <abi>sysv <address-model>32_64 <architecture>x86 <binary-format>mach-o <threading>multi not matched next alternative: required properties: <abi>sysv <architecture>combined <binary-format>mach-o <threading>multi not matched - C++11 mutex : no - lockfree boost::atomic_flag : no - Boost.Config Feature Check: cxx11_auto_declarations : no - Boost.Config Feature Check: cxx11_constexpr : no - Boost.Config Feature Check: cxx11_defaulted_functions : no - Boost.Config Feature Check: cxx11_final : no - Boost.Config Feature Check: cxx11_hdr_mutex : no - Boost.Config Feature Check: cxx11_hdr_tuple : no - Boost.Config Feature Check: cxx11_lambdas : no - Boost.Config Feature Check: cxx11_noexcept : no - Boost.Config Feature Check: cxx11_nullptr : no - Boost.Config Feature Check: cxx11_rvalue_references : no - Boost.Config Feature Check: cxx11_template_aliases : no - Boost.Config Feature Check: cxx11_thread_local : no - Boost.Config Feature Check: cxx11_variadic_templates : no - has_icu builds : no warning: Graph library does not contain MPI-based parallel components. note: to enable them, add "using mpi ;" to your user-config.jam - zlib : no - bzip2 : no - lzma : no - zstd : no - iconv (libc) : no - iconv (separate) : no - icu : no - icu (lib64) : no - Boost.Locale needs either iconv or ICU library to be built. - Boost.Locale needs either iconv or ICU library to be built. - native-atomic-int32-supported : no - native-syslog-supported : no - pthread-supports-robust-mutexes : no - x86 : no - arm : no - mips1 : no - power : no - sparc : no - gcc visibility : no - long double support : no warning: skipping optional Message Passing Interface (MPI) library. note: to enable MPI support, add "using mpi ;" to user-config.jam. note: to suppress this message, pass "--without-mpi" to bjam. note: otherwise, you can safely ignore this message. - libbacktrace builds : no - addr2line builds : no - WinDbg builds : no - WinDbgCached builds : no - BOOST_COMP_GNUC >= 4.3.0 : no error: No best alternative for libs/context/build/asm_sources ### similar messages to the above repeat several times and I’ve left it out for clarity and length, then output continues below ### Component configuration: - atomic : building - chrono : building - container : building - context : building - contract : building - coroutine : building - date_time : building - exception : building - fiber : building - filesystem : building - graph : building - graph_parallel : building - headers : building - iostreams : building - locale : building - log : building - math : building - mpi : building - program_options : building - python : building - random : building - regex : building - serialization : building - stacktrace : building - system : building - test : building - thread : building - timer : building - type_erasure : building - wave : building ...patience... ...patience... ...patience... ...patience... ...patience... ...found 45809 targets... ...updating 17951 targets... gcc.compile.c++ bin.v2/libs/regex/build/gcc/debug/threading-multi/visibility-hidden/posix_api.o /bin/sh: line 1: -fvisibility-inlines-hidden: command not found -fvisibility-inlines-hidden -fPIC -pthread -O0 -fno-inline -Wall -g -fvisibility=hidden -DBOOST_ALL_NO_LIB=1 -DBOOST_REGEX_DYN_LINK=1 -I"." -c -o "bin.v2/libs/regex/build/gcc/debug/threading-multi/visibility-hidden/posix_api.o" "libs/regex/build/../src/posix_api.cpp" ...failed gcc.compile.c++ bin.v2/libs/regex/build/gcc/debug/threading-multi/visibility-hidden/posix_api.o... gcc.compile.c++ bin.v2/libs/regex/build/gcc/debug/threading-multi/visibility-hidden/c_regex_traits.o /bin/sh: line 1: -fvisibility-inlines-hidden: command not found -fvisibility-inlines-hidden -fPIC -pthread -O0 -fno-inline -Wall -g -fvisibility=hidden -DBOOST_ALL_NO_LIB=1 -DBOOST_REGEX_DYN_LINK=1 -I"." -c -o "bin.v2/libs/regex/build/gcc/debug/threading-multi/visibility-hidden/c_regex_traits.o" "libs/regex/build/../src/c_regex_traits.cpp" ...failed gcc.compile.c++ bin.v2/libs/regex/build/gcc/debug/threading-multi/visibility-hidden/c_regex_traits.o... gcc.compile.c++ bin.v2/libs/regex/build/gcc/debug/threading-multi/visibility-hidden/instances.o /bin/sh: line 1: -fvisibility-inlines-hidden: command not found -fvisibility-inlines-hidden -fPIC -pthread -O0 -fno-inline -Wall -g -fvisibility=hidden -DBOOST_ALL_NO_LIB=1 -DBOOST_REGEX_DYN_LINK=1 -I"." -c -o "bin.v2/libs/regex/build/gcc/debug/threading-multi/visibility-hidden/instances.o" "libs/regex/build/../src/instances.cpp" ==================================== Chris ----------------------------------------------------------------------------------------------------------- Christopher W. Harrop email: christopher.w.harrop@noaa.gov mailto:christopher.w.harrop@noaa.gov Global Systems Division voice: (303) 497-6808 tel:%28303%29%20497-6808 NOAA Earth System Research Laboratory fax: (303) 497-7259 tel:%28303%29%20497-7259 325 Broadway R/GSD2 Boulder, CO 80303