Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support nvc++ compiler #215

Closed
bernhardmgruber opened this issue Feb 22, 2023 · 4 comments
Closed

Support nvc++ compiler #215

bernhardmgruber opened this issue Feb 22, 2023 · 4 comments
Labels
enhancement New feature or request

Comments

@bernhardmgruber
Copy link

Describe your use case

nvc++ is a C++20 compiler by NVIDIA, which is shipped as part of their HPC SDK. It's main feature is automatic offloading of calls to the C++17 parallel STL to NVIDIA GPUs. Otherwise, it performs like an ordinary C++20 compiler.

Unfortunately, the command line parameters of nvc++ are different from other mainstream compilers like gcc. This ultimately leads to boost build failures in downstream projects using nvc++ as CXX. Specifically, when I install boost via CXX=nvc++ ./vcpkg install boost-atomic, I get build errors like: nvc++-Error-Unknown switch: -fno-inline (full build log at the bottom). It seems to me the offending flags are injected by b2.

If a project of yours is blocked on this feature, please, mention it explicitly.

I am blocked in my project because vcpkg fails to install boost in manifest mode when nvc++ is used as CXX compiler: alpaka-group/llama#700.

Describe the solution you'd like

I would like to kindly ask to add support for nvc++ as CXX compiler to b2, so future versions of boost could be built with this C++ compiler.

Additional context

Build failure when installing boost-atomic via vcpkg using CXX=nvc++ ./vcpkg install boost-atomic:

Computing installation plan...
The following packages will be built and installed:
    boost-atomic[core]:x64-linux -> 1.81.0
Detecting compiler hash for triplet x64-linux...
Restored 0 package(s) from /home/bgruber/.cache/vcpkg/archives in 94.23 us. Use --debug to see more details.
Installing 1/1 boost-atomic:x64-linux...
Building boost-atomic[core]:x64-linux...
-- Using cached boostorg-atomic-boost-1.81.0.tar.gz.
-- Cleaning sources at /home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /home/bgruber/dev/vcpkg/downloads/boostorg-atomic-boost-1.81.0.tar.gz
-- Using source at /home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean
-- Getting CMake variables for x64-linux
-- Configuring x64-linux
-- Building x64-linux-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:131 (message):
    Command failed: /usr/bin/cmake --build . --config Debug --target install -- -v -j33
    Working Directory: /home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg
    See logs for more information:
      /home/bgruber/dev/vcpkg/buildtrees/boost-atomic/install-x64-linux-dbg-out.log

Call Stack (most recent call first):
  installed/x64-linux/share/vcpkg-cmake/vcpkg_cmake_build.cmake:74 (vcpkg_execute_build_process)
  installed/x64-linux/share/vcpkg-cmake/vcpkg_cmake_install.cmake:16 (vcpkg_cmake_build)
  installed/x64-linux/share/boost-build/boost-modular-build.cmake:137 (vcpkg_cmake_install)
  ports/boost-atomic/portfile.cmake:17 (boost_modular_build)
  scripts/ports.cmake:147 (include)


error: building boost-atomic:x64-linux failed with: BUILD_FAILED
error: Please ensure you're using the latest port files with `git pull` and `vcpkg update`.
Then check for known issues at:
    https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+boost-atomic
You can submit a new issue at:
    https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[boost-atomic]+Build+error
Include '[boost-atomic] Build error' in your bug report title, the following version information in your bug description, and attach any relevant failure logs from above.
    vcpkg-tool version: 2022-12-14-7ae0d8527fb488fde10a89c2813802dc9b03b6f9
    vcpkg-scripts version: f14984af3 2023-01-09 (6 weeks ago)


Please use the prefilled template from /home/bgruber/dev/vcpkg/installed/vcpkg/issue_body.md when reporting your issue.

Log file:

[1/2] cd /home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean/build && /home/bgruber/dev/vcpkg/installed/x64-linux/tools/boost-build/b2 toolset=gcc --user-config=/home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/user-config.jam --stagedir=/home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/stage --build-dir=/home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg runtime-link=shared link=static address-model=64 architecture=x86 target-os=linux threadapi=pthread variant=debug --layout=system -sICU_PATH="/usr" --with-atomic --with-random --with-date_time --with-filesystem --with-system --with-thread --with-chrono -j 33 -sBOOST_ROOT=/home/bgruber/dev/vcpkg/installed/x64-linux/tools/boost-build -sBOOST_BUILD_PATH=/home/bgruber/dev/vcpkg/installed/x64-linux/tools/boost-build --debug-configuration --debug-building --debug-generators --ignore-site-config --hash -q debug-symbols=on -d +2 threading=multi stage
FAILED: CMakeFiles/boost /home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/CMakeFiles/boost 
cd /home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean/build && /home/bgruber/dev/vcpkg/installed/x64-linux/tools/boost-build/b2 toolset=gcc --user-config=/home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/user-config.jam --stagedir=/home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/stage --build-dir=/home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg runtime-link=shared link=static address-model=64 architecture=x86 target-os=linux threadapi=pthread variant=debug --layout=system -sICU_PATH="/usr" --with-atomic --with-random --with-date_time --with-filesystem --with-system --with-thread --with-chrono -j 33 -sBOOST_ROOT=/home/bgruber/dev/vcpkg/installed/x64-linux/tools/boost-build -sBOOST_BUILD_PATH=/home/bgruber/dev/vcpkg/installed/x64-linux/tools/boost-build --debug-configuration --debug-building --debug-generators --ignore-site-config --hash -q debug-symbols=on -d +2 threading=multi stage
notice: loading B2 from /home/bgruber/dev/vcpkg/installed/x64-linux/tools/boost-build/src/kernel/bootstrap.jam
notice: Site configuration files will be ignored due to the
notice: --ignore-site-config command-line option.
notice: Loading explicitly specified user configuration file:
    /home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/user-config.jam
notice: Searching '/home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg' for user-config configuration file 'user-config.jam'.
notice: Loading user-config configuration file 'user-config.jam' from '/home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg'.
nvc++-Error-Unknown switch: -dumpmachine
notice: will use '/opt/nvidia/hpc_sdk/Linux_x86_64/2023/compilers/bin/nvc++' for gcc, condition <toolset>gcc-23
notice: using gcc libraries :: <toolset>gcc-23 :: /opt/nvidia/hpc_sdk/Linux_x86_64/2023/compilers/bin /opt/nvidia/hpc_sdk/Linux_x86_64/2023/compilers/lib /opt/nvidia/hpc_sdk/Linux_x86_64/2023/compilers/lib32 /opt/nvidia/hpc_sdk/Linux_x86_64/2023/compilers/lib64
nvc++-Error-Unknown switch: -print-prog-name=ar
notice: using gcc archiver :: <toolset>gcc-23 :: /usr/bin/ar
warning: toolset gcc initialization: can not find tool windres
warning: initialized from /home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/user-config.jam:11
notice: using rc compiler :: <toolset>gcc-23 :: as

Building target '../build/stage'
     Build request: object(property-set)@1250 <address-model>64 <architecture>x86 <debug-symbols>on <link>static <runtime-link>shared <target-os>linux <threadapi>pthread <threading>multi <toolset>gcc <variant>debug
     Command line free features:
     Target requirements: <define>BOOST_ALL_NO_LIB=1 <define>BOOST_ATOMIC_SOURCE <hardcode-dll-paths>false <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <include>../src <link>shared:<define>BOOST_ATOMIC_DYN_LINK=1 <link>static:<define>BOOST_ATOMIC_STATIC_LINK=1 <location>/home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/stage/lib <relevant>define:<relevant>link <relevant>define:<relevant>target-os <relevant>linkflags:<relevant>target-os <relevant>linkflags:<relevant>toolset <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag <target-os>windows:<define>BOOST_USE_WINDOWS_H <threading>multi <toolset>gcc,<target-os>windows:<linkflags>-lkernel32 <translate-path>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean/build>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean/build>.stage-translate-path

     Common properties:  <address-model>64 <architecture>x86 <asynch-exceptions>off <coverage>off <debug-symbols>on <define>BOOST_ALL_NO_LIB=1 <define>BOOST_ATOMIC_SOURCE <define>BOOST_ATOMIC_STATIC_LINK=1 <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>false <host-os>linux <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <include>../src <inlining>off <install-dependencies>off <link>static <location>/home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/stage/lib <optimization>off <os>LINUX <pch>on <profiling>off <relevant>define:<relevant>link <relevant>define:<relevant>target-os <relevant>linkflags:<relevant>target-os <relevant>linkflags:<relevant>toolset <response-file>auto <rtti>on <runtime-debugging>on <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag <target-os>linux <threadapi>pthread <threading>multi <toolset-gcc:version>23 <toolset>gcc <translate-path>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean/build>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean/build>.stage-translate-path <user-interface>console <variant>debug <vectorize>off <warnings-as-errors>off <warnings>on

     Building target '../build/boost_atomic'
         Build request: object(property-set)@1257 <address-model>64 <architecture>x86 <asynch-exceptions>off <coverage>off <debug-symbols>on <exception-handling>on <extern-c-nothrow>off <inlining>off <link>static <optimization>off <os>LINUX <pch>on <profiling>off <rtti>on <runtime-debugging>on <runtime-link>shared <stdlib>native <strip>off <target-os>linux <threadapi>pthread <threading>multi <toolset-gcc:version>23 <toolset>gcc <variant>debug <vectorize>off <warnings-as-errors>off <warnings>on
         Command line free features:
         Target requirements: <conditional>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean/build>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean/build>.select-arch-specific-sources <conditional>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean/build>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean/build>.select-platform-specific-sources <define>BOOST_ALL_NO_LIB=1 <define>BOOST_ATOMIC_SOURCE <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <include>../src <link>shared:<define>BOOST_ATOMIC_DYN_LINK=1 <link>static:<define>BOOST_ATOMIC_STATIC_LINK=1 <relevant>define:<relevant>link <relevant>define:<relevant>target-os <relevant>linkflags:<relevant>target-os <relevant>linkflags:<relevant>toolset <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag <target-os>windows:<define>BOOST_USE_WINDOWS_H <threading>multi <toolset>gcc,<target-os>windows:<linkflags>-lkernel32

         Building target '../config/has_sse2'
             Build request: object(property-set)@1261 <address-model>64 <architecture>x86 <link>static <threadapi>pthread <threading>multi <toolset-gcc:version>23 <toolset>gcc <variant>debug
             Command line free features:
             Target requirements: <conditional>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean/config>%atomic-arch-config.sse2-flags <define>BOOST_ALL_NO_LIB=1 <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag

             Common properties:  <address-model>64 <architecture>x86 <asynch-exceptions>off <coverage>off <cxxflags>-msse -msse2 <debug-symbols>on <define>BOOST_ALL_NO_LIB=1 <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>true <host-os>linux <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <inlining>off <install-dependencies>off <link>static <optimization>off <os>LINUX <pch>on <profiling>off <response-file>auto <rtti>on <runtime-debugging>on <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag <target-os>linux <threadapi>pthread <threading>multi <toolset-gcc:version>23 <toolset>gcc <user-interface>console <variant>debug <vectorize>off <warnings-as-errors>off <warnings>on

             Usage requirements for has_sse2: 
             Build properties:  <address-model>64 <architecture>x86 <asynch-exceptions>off <coverage>off <cxxflags>-msse -msse2 <debug-symbols>on <define>BOOST_ALL_NO_LIB=1 <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>true <host-os>linux <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <inlining>off <install-dependencies>off <link>static <optimization>off <os>LINUX <pch>on <profiling>off <response-file>auto <rtti>on <runtime-debugging>on <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag <target-os>linux <threadapi>pthread <threading>multi <toolset-gcc:version>23 <toolset>gcc <user-interface>console <variant>debug <vectorize>off <warnings-as-errors>off <warnings>on
     *** construct OBJ
         from { has_sse2.cpp.CPP }
         properties: <address-model>64 <architecture>x86 <asynch-exceptions>off <coverage>off <cxxflags>-msse -msse2 <debug-symbols>on <define>BOOST_ALL_NO_LIB=1 <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>true <host-os>linux <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <inlining>off <install-dependencies>off <link>static <main-target-type>OBJ <optimization>off <os>LINUX <pch>on <profiling>off <response-file>auto <rtti>on <runtime-debugging>on <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag <target-os>linux <threadapi>pthread <threading>multi <toolset-gcc:version>23 <toolset>gcc <user-interface>console <variant>debug <vectorize>off <warnings-as-errors>off <warnings>on
     find-viable-generators target-type= OBJ property-set=
     trying type OBJ
     there are generators for this type
     trying generator rc.compile.resource ( RC -> OBJ )
       is viable
     trying generator gcc.compile.c++ ( CPP -> OBJ )
       is viable
     trying generator gcc.compile.c ( C -> OBJ )
       is viable
     trying generator gcc.compile.asm ( ASM -> OBJ )
       is viable
     trying generator gcc.compile.m ( OBJECTIVE_C -> OBJ )
       is viable
     trying generator gcc.compile.mm ( OBJECTIVE_CPP -> OBJ )
       is viable
     trying generator gcc.compile.fortran ( FORTRAN FORTRAN90 -> OBJ )
       is viable
     ***  7  viable generators
       ** generator 'rc.compile.resource' pruned
       ** generator gcc.compile.c++
       composing:
       SUCCESS:  [ <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>c++-template-depth <relevant>cflags <relevant>coverage <relevant>cxxflags <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>define <relevant>exception-handling <relevant>force-include <relevant>include <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>local-visibility <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>pch-file <relevant>profiling <relevant>response-file <relevant>rtti <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>warnings <relevant>warnings-as-errors ] { gcc%gcc.compile.c++-has_sse2.o.OBJ { has_sse2.cpp.CPP } }

     returned [ <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>c++-template-depth <relevant>cflags <relevant>coverage <relevant>cxxflags <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>define <relevant>exception-handling <relevant>force-include <relevant>include <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>local-visibility <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>pch-file <relevant>profiling <relevant>response-file <relevant>rtti <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>warnings <relevant>warnings-as-errors ] { gcc%gcc.compile.c++-has_sse2.o.OBJ { has_sse2.cpp.CPP } }
       generator gcc.compile.c++  spawned 
       { gcc%gcc.compile.c++-has_sse2.o.OBJ { has_sse2.cpp.CPP } }
       with usage requirements: [ <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>c++-template-depth <relevant>cflags <relevant>coverage <relevant>cxxflags <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>define <relevant>exception-handling <relevant>force-include <relevant>include <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>local-visibility <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>pch-file <relevant>profiling <relevant>response-file <relevant>rtti <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>warnings <relevant>warnings-as-errors ]
       ** generator 'gcc.compile.c' pruned
       ** generator 'gcc.compile.asm' pruned
       ** generator 'gcc.compile.m' pruned
       ** generator 'gcc.compile.mm' pruned
       ** generator 'gcc.compile.fortran' pruned
             Usage requirements from has_sse2:  <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>c++-template-depth <relevant>coverage <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>deduced-address-model <relevant>deduced-architecture <relevant>exception-handling <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>profiling <relevant>rtti <relevant>segmented-stacks <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>variant <relevant>visibility <relevant>warnings <relevant>warnings-as-errors
Performing configuration checks

    - compiler supports SSE2   : no [1]

         Building target '../config/has_sse41'
             Build request: object(property-set)@1261 <address-model>64 <architecture>x86 <link>static <threadapi>pthread <threading>multi <toolset-gcc:version>23 <toolset>gcc <variant>debug
             Command line free features:
             Target requirements: <conditional>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean/config>%atomic-arch-config.sse41-flags <define>BOOST_ALL_NO_LIB=1 <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag

             Common properties:  <address-model>64 <architecture>x86 <asynch-exceptions>off <coverage>off <cxxflags>-msse -msse2 -msse3 -mssse3 -msse4.1 <debug-symbols>on <define>BOOST_ALL_NO_LIB=1 <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>true <host-os>linux <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <inlining>off <install-dependencies>off <link>static <optimization>off <os>LINUX <pch>on <profiling>off <response-file>auto <rtti>on <runtime-debugging>on <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag <target-os>linux <threadapi>pthread <threading>multi <toolset-gcc:version>23 <toolset>gcc <user-interface>console <variant>debug <vectorize>off <warnings-as-errors>off <warnings>on

             Usage requirements for has_sse41: 
             Build properties:  <address-model>64 <architecture>x86 <asynch-exceptions>off <coverage>off <cxxflags>-msse -msse2 -msse3 -mssse3 -msse4.1 <debug-symbols>on <define>BOOST_ALL_NO_LIB=1 <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>true <host-os>linux <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <inlining>off <install-dependencies>off <link>static <optimization>off <os>LINUX <pch>on <profiling>off <response-file>auto <rtti>on <runtime-debugging>on <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag <target-os>linux <threadapi>pthread <threading>multi <toolset-gcc:version>23 <toolset>gcc <user-interface>console <variant>debug <vectorize>off <warnings-as-errors>off <warnings>on
     *** construct OBJ
         from { has_sse41.cpp.CPP }
         properties: <address-model>64 <architecture>x86 <asynch-exceptions>off <coverage>off <cxxflags>-msse -msse2 -msse3 -mssse3 -msse4.1 <debug-symbols>on <define>BOOST_ALL_NO_LIB=1 <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>true <host-os>linux <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <inlining>off <install-dependencies>off <link>static <main-target-type>OBJ <optimization>off <os>LINUX <pch>on <profiling>off <response-file>auto <rtti>on <runtime-debugging>on <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag <target-os>linux <threadapi>pthread <threading>multi <toolset-gcc:version>23 <toolset>gcc <user-interface>console <variant>debug <vectorize>off <warnings-as-errors>off <warnings>on
     find-viable-generators target-type= OBJ property-set=
     trying type OBJ
     there are generators for this type
     trying generator rc.compile.resource ( RC -> OBJ )
       is viable
     trying generator gcc.compile.c++ ( CPP -> OBJ )
       is viable
     trying generator gcc.compile.c ( C -> OBJ )
       is viable
     trying generator gcc.compile.asm ( ASM -> OBJ )
       is viable
     trying generator gcc.compile.m ( OBJECTIVE_C -> OBJ )
       is viable
     trying generator gcc.compile.mm ( OBJECTIVE_CPP -> OBJ )
       is viable
     trying generator gcc.compile.fortran ( FORTRAN FORTRAN90 -> OBJ )
       is viable
     ***  7  viable generators
       ** generator 'rc.compile.resource' pruned
       ** generator gcc.compile.c++
       composing:
       SUCCESS:  [ <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>c++-template-depth <relevant>cflags <relevant>coverage <relevant>cxxflags <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>define <relevant>exception-handling <relevant>force-include <relevant>include <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>local-visibility <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>pch-file <relevant>profiling <relevant>response-file <relevant>rtti <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>warnings <relevant>warnings-as-errors ] { gcc%gcc.compile.c++-has_sse41.o.OBJ { has_sse41.cpp.CPP } }

     returned [ <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>c++-template-depth <relevant>cflags <relevant>coverage <relevant>cxxflags <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>define <relevant>exception-handling <relevant>force-include <relevant>include <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>local-visibility <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>pch-file <relevant>profiling <relevant>response-file <relevant>rtti <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>warnings <relevant>warnings-as-errors ] { gcc%gcc.compile.c++-has_sse41.o.OBJ { has_sse41.cpp.CPP } }
       generator gcc.compile.c++  spawned 
       { gcc%gcc.compile.c++-has_sse41.o.OBJ { has_sse41.cpp.CPP } }
       with usage requirements: [ <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>c++-template-depth <relevant>cflags <relevant>coverage <relevant>cxxflags <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>define <relevant>exception-handling <relevant>force-include <relevant>include <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>local-visibility <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>pch-file <relevant>profiling <relevant>response-file <relevant>rtti <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>warnings <relevant>warnings-as-errors ]
       ** generator 'gcc.compile.c' pruned
       ** generator 'gcc.compile.asm' pruned
       ** generator 'gcc.compile.m' pruned
       ** generator 'gcc.compile.mm' pruned
       ** generator 'gcc.compile.fortran' pruned
             Usage requirements from has_sse41:  <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>c++-template-depth <relevant>coverage <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>deduced-address-model <relevant>deduced-architecture <relevant>exception-handling <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>profiling <relevant>rtti <relevant>segmented-stacks <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>variant <relevant>visibility <relevant>warnings <relevant>warnings-as-errors
    - compiler supports SSE4.1 : no [1]

         Common properties:  <address-model>64 <architecture>x86 <asynch-exceptions>off <coverage>off <debug-symbols>on <define>BOOST_ALL_NO_LIB=1 <define>BOOST_ATOMIC_SOURCE <define>BOOST_ATOMIC_STATIC_LINK=1 <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>true <host-os>linux <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <include>../src <inlining>off <install-dependencies>off <link>static <optimization>off <os>LINUX <pch>on <profiling>off <relevant>define:<relevant>link <relevant>define:<relevant>target-os <relevant>linkflags:<relevant>target-os <relevant>linkflags:<relevant>toolset <response-file>auto <rtti>on <runtime-debugging>on <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag <target-os>linux <threadapi>pthread <threading>multi <toolset-gcc:version>23 <toolset>gcc <user-interface>console <variant>debug <vectorize>off <warnings-as-errors>off <warnings>on

         Usage requirements for boost_atomic: 
         Build properties:  <address-model>64 <architecture>x86 <asynch-exceptions>off <coverage>off <debug-symbols>on <define>BOOST_ALL_NO_LIB=1 <define>BOOST_ATOMIC_SOURCE <define>BOOST_ATOMIC_STATIC_LINK=1 <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>true <host-os>linux <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <include>../src <inlining>off <install-dependencies>off <link>static <optimization>off <os>LINUX <pch>on <profiling>off <relevant>define:<relevant>link <relevant>define:<relevant>target-os <relevant>linkflags:<relevant>target-os <relevant>linkflags:<relevant>toolset <response-file>auto <rtti>on <runtime-debugging>on <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag <target-os>linux <threadapi>pthread <threading>multi <toolset-gcc:version>23 <toolset>gcc <user-interface>console <variant>debug <vectorize>off <warnings-as-errors>off <warnings>on
     *** construct LIB
         from { lock_pool.cpp.CPP }
         properties: <address-model>64 <architecture>x86 <asynch-exceptions>off <coverage>off <debug-symbols>on <define>BOOST_ALL_NO_LIB=1 <define>BOOST_ATOMIC_SOURCE <define>BOOST_ATOMIC_STATIC_LINK=1 <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>true <host-os>linux <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <include>../src <inlining>off <install-dependencies>off <link>static <main-target-type>LIB <optimization>off <os>LINUX <pch>on <profiling>off <relevant>define:<relevant>link <relevant>define:<relevant>target-os <relevant>linkflags:<relevant>target-os <relevant>linkflags:<relevant>toolset <response-file>auto <rtti>on <runtime-debugging>on <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag <target-os>linux <threadapi>pthread <threading>multi <toolset-gcc:version>23 <toolset>gcc <user-interface>console <variant>debug <vectorize>off <warnings-as-errors>off <warnings>on
     find-viable-generators target-type= LIB property-set=
     trying type LIB
     there are generators for this type
     trying generator builtin.prebuilt ( -> LIB )
     trying generator builtin.lib-generator ( -> LIB )
       is viable
     trying generator unix.prebuilt ( -> LIB )
     trying generator gcc.prebuilt ( -> LIB )
     ***  1  viable generators
         *** construct STATIC_LIB
             from { lock_pool.cpp.CPP }
             properties: <address-model>64 <architecture>x86 <asynch-exceptions>off <coverage>off <debug-symbols>on <define>BOOST_ALL_NO_LIB=1 <define>BOOST_ATOMIC_SOURCE <define>BOOST_ATOMIC_STATIC_LINK=1 <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>true <host-os>linux <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <include>../src <inlining>off <install-dependencies>off <link>static <main-target-type>LIB <optimization>off <os>LINUX <pch>on <profiling>off <relevant>define:<relevant>link <relevant>define:<relevant>target-os <relevant>link <relevant>linkflags:<relevant>target-os <relevant>linkflags:<relevant>toolset <response-file>auto <rtti>on <runtime-debugging>on <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag <target-os>linux <threadapi>pthread <threading>multi <toolset-gcc:version>23 <toolset>gcc <user-interface>console <variant>debug <vectorize>off <warnings-as-errors>off <warnings>on
         find-viable-generators target-type= STATIC_LIB property-set= link-static
         trying type STATIC_LIB
         there are generators for this type
         trying generator unix.archive ( OBJ -> STATIC_LIB )
         trying generator gcc.archive ( OBJ -> STATIC_LIB )
           is viable
         ***  1  viable generators
           ** generator gcc.archive
           composing: true
             *** construct OBJ
                 from { lock_pool.cpp.CPP }
                 properties: <address-model>64 <architecture>x86 <asynch-exceptions>off <coverage>off <debug-symbols>on <define>BOOST_ALL_NO_LIB=1 <define>BOOST_ATOMIC_SOURCE <define>BOOST_ATOMIC_STATIC_LINK=1 <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>true <host-os>linux <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <include>../src <inlining>off <install-dependencies>off <link>static <main-target-type>LIB <optimization>off <os>LINUX <pch>on <profiling>off <relevant>define:<relevant>link <relevant>define:<relevant>target-os <relevant>link <relevant>linkflags:<relevant>target-os <relevant>linkflags:<relevant>toolset <response-file>auto <rtti>on <runtime-debugging>on <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag <target-os>linux <threadapi>pthread <threading>multi <toolset-gcc:version>23 <toolset>gcc <user-interface>console <variant>debug <vectorize>off <warnings-as-errors>off <warnings>on
             find-viable-generators target-type= OBJ property-set= link-static
             trying type OBJ
             there are generators for this type
             trying generator rc.compile.resource ( RC -> OBJ )
               is viable
             trying generator gcc.compile.c++ ( CPP -> OBJ )
               is viable
             trying generator gcc.compile.c ( C -> OBJ )
               is viable
             trying generator gcc.compile.asm ( ASM -> OBJ )
               is viable
             trying generator gcc.compile.m ( OBJECTIVE_C -> OBJ )
               is viable
             trying generator gcc.compile.mm ( OBJECTIVE_CPP -> OBJ )
               is viable
             trying generator gcc.compile.fortran ( FORTRAN FORTRAN90 -> OBJ )
               is viable
             ***  7  viable generators
               ** generator 'rc.compile.resource' pruned
               ** generator gcc.compile.c++
               composing:
               SUCCESS:  [ <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>c++-template-depth <relevant>cflags <relevant>coverage <relevant>cxxflags <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>define <relevant>exception-handling <relevant>force-include <relevant>include <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>local-visibility <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>pch-file <relevant>profiling <relevant>response-file <relevant>rtti <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>warnings <relevant>warnings-as-errors ] { gcc%gcc.compile.c++-lock_pool.o.OBJ { lock_pool.cpp.CPP } }

             returned [ <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>c++-template-depth <relevant>cflags <relevant>coverage <relevant>cxxflags <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>define <relevant>exception-handling <relevant>force-include <relevant>include <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>local-visibility <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>pch-file <relevant>profiling <relevant>response-file <relevant>rtti <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>warnings <relevant>warnings-as-errors ] { gcc%gcc.compile.c++-lock_pool.o.OBJ { lock_pool.cpp.CPP } }
               generator gcc.compile.c++  spawned 
               { gcc%gcc.compile.c++-lock_pool.o.OBJ { lock_pool.cpp.CPP } }
               with usage requirements: [ <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>c++-template-depth <relevant>cflags <relevant>coverage <relevant>cxxflags <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>define <relevant>exception-handling <relevant>force-include <relevant>include <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>local-visibility <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>pch-file <relevant>profiling <relevant>response-file <relevant>rtti <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>warnings <relevant>warnings-as-errors ]
               ** generator 'gcc.compile.c' pruned
               ** generator 'gcc.compile.asm' pruned
               ** generator 'gcc.compile.m' pruned
               ** generator 'gcc.compile.mm' pruned
               ** generator 'gcc.compile.fortran' pruned
           SUCCESS:  [ <relevant>address-model <relevant>architecture <relevant>archiveflags <relevant>instruction-set <relevant>response-file <relevant>target-os <relevant>toolset <relevant>toolset-gcc:version ] { gcc%gcc.archive-libboost_atomic.a.STATIC_LIB { gcc%gcc.compile.c++-lock_pool.o.OBJ { lock_pool.cpp.CPP } } }

         returned [ <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>archiveflags <relevant>c++-template-depth <relevant>cflags <relevant>coverage <relevant>cxxflags <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>define <relevant>exception-handling <relevant>force-include <relevant>include <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>local-visibility <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>pch-file <relevant>profiling <relevant>response-file <relevant>rtti <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>warnings <relevant>warnings-as-errors ] { gcc%gcc.archive-libboost_atomic.a.STATIC_LIB { gcc%gcc.compile.c++-lock_pool.o.OBJ { lock_pool.cpp.CPP } } }
           generator gcc.archive  spawned 
           { gcc%gcc.archive-libboost_atomic.a.STATIC_LIB { gcc%gcc.compile.c++-lock_pool.o.OBJ { lock_pool.cpp.CPP } } }
           with usage requirements: [ <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>archiveflags <relevant>c++-template-depth <relevant>cflags <relevant>coverage <relevant>cxxflags <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>define <relevant>exception-handling <relevant>force-include <relevant>include <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>local-visibility <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>pch-file <relevant>profiling <relevant>response-file <relevant>rtti <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>warnings <relevant>warnings-as-errors ]
     returned [ <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>archiveflags <relevant>c++-template-depth <relevant>cflags <relevant>coverage <relevant>cxxflags <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>define <relevant>exception-handling <relevant>force-include <relevant>include <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>local-visibility <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>pch-file <relevant>profiling <relevant>response-file <relevant>rtti <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>warnings <relevant>warnings-as-errors ] { gcc%gcc.archive-libboost_atomic.a.STATIC_LIB { gcc%gcc.compile.c++-lock_pool.o.OBJ { lock_pool.cpp.CPP } } }
       generator builtin.lib-generator  spawned 
       { gcc%gcc.archive-libboost_atomic.a.STATIC_LIB { gcc%gcc.compile.c++-lock_pool.o.OBJ { lock_pool.cpp.CPP } } }
       with usage requirements: [ <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>archiveflags <relevant>c++-template-depth <relevant>cflags <relevant>coverage <relevant>cxxflags <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>define <relevant>exception-handling <relevant>force-include <relevant>include <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>local-visibility <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>pch-file <relevant>profiling <relevant>response-file <relevant>rtti <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>warnings <relevant>warnings-as-errors ]
         Usage requirements from boost_atomic:  <define>BOOST_ATOMIC_STATIC_LINK=1 <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>c++-template-depth <relevant>coverage <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>deduced-address-model <relevant>deduced-architecture <relevant>define:<relevant>link <relevant>exception-handling <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>profiling <relevant>rtti <relevant>segmented-stacks <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>variant <relevant>visibility <relevant>warnings <relevant>warnings-as-errors

     Usage requirements for stage:  <define>BOOST_ATOMIC_STATIC_LINK=1 <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>c++-template-depth <relevant>coverage <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>deduced-address-model <relevant>deduced-architecture <relevant>define:<relevant>link <relevant>exception-handling <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>profiling <relevant>rtti <relevant>segmented-stacks <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>variant <relevant>visibility <relevant>warnings <relevant>warnings-as-errors
     Build properties:  <address-model>64 <architecture>x86 <asynch-exceptions>off <coverage>off <debug-symbols>on <define>BOOST_ALL_NO_LIB=1 <define>BOOST_ATOMIC_SOURCE <define>BOOST_ATOMIC_STATIC_LINK=1 <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>false <host-os>linux <include>../include&&/home/bgruber/dev/vcpkg/installed/x64-linux/include <include>../src <inlining>off <install-dependencies>off <link>static <location>/home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/stage/lib <optimization>off <os>LINUX <pch>on <profiling>off <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>c++-template-depth <relevant>coverage <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>deduced-address-model <relevant>deduced-architecture <relevant>define:<relevant>link <relevant>define:<relevant>target-os <relevant>exception-handling <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>linkflags:<relevant>target-os <relevant>linkflags:<relevant>toolset <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>profiling <relevant>rtti <relevant>segmented-stacks <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>variant <relevant>visibility <relevant>warnings <relevant>warnings-as-errors <response-file>auto <rtti>on <runtime-debugging>on <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean>.tag <target-os>linux <threadapi>pthread <threading>multi <toolset-gcc:version>23 <toolset>gcc <translate-path>@Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean/build>%Jamfile</home/bgruber/dev/vcpkg/buildtrees/boost-atomic/src/ost-1.81.0-27d3c4652a.clean/build>.stage-translate-path <user-interface>console <variant>debug <vectorize>off <warnings-as-errors>off <warnings>on
     Usage requirements from stage:  <define>BOOST_ATOMIC_STATIC_LINK=1 <relevant>address-model <relevant>address-sanitizer <relevant>architecture <relevant>c++-template-depth <relevant>coverage <relevant>cxxstd <relevant>cxxstd-dialect <relevant>debug-symbols <relevant>deduced-address-model <relevant>deduced-architecture <relevant>define:<relevant>link <relevant>exception-handling <relevant>inlining <relevant>instruction-set <relevant>leak-sanitizer <relevant>link <relevant>lto <relevant>lto-mode <relevant>optimization <relevant>pch <relevant>profiling <relevant>rtti <relevant>segmented-stacks <relevant>stdlib <relevant>target-os <relevant>thread-sanitizer <relevant>threading <relevant>toolset <relevant>toolset-gcc:version <relevant>undefined-sanitizer <relevant>variant <relevant>visibility <relevant>warnings <relevant>warnings-as-errors

[1] gcc-23/debug/address-model-64/architecture-x86/link-static/threadapi-pthread/threading-multi
common.mkdir /home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/stage

        mkdir -p "/home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/stage"
    
common.mkdir /home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/boost/build

        mkdir -p "/home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/boost/build"
    
common.mkdir /home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/stage/lib

        mkdir -p "/home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/stage/lib"
    
common.mkdir /home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/boost/build/d5e640115bf9967e657ffd42809cd751

        mkdir -p "/home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/boost/build/d5e640115bf9967e657ffd42809cd751"
    
gcc.compile.c++ /home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/boost/build/d5e640115bf9967e657ffd42809cd751/lock_pool.o

    "/opt/nvidia/hpc_sdk/Linux_x86_64/2023/compilers/bin/nvc++"   -fPIC -g -O0 -m64 -pthread -O0 -fno-inline -Wall -g  -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_SOURCE -DBOOST_ATOMIC_STATIC_LINK=1  -I"../include" -I"/home/bgruber/dev/vcpkg/installed/x64-linux/include" -I"../src"  -c -o "/home/bgruber/dev/vcpkg/buildtrees/boost-atomic/x64-linux-dbg/boost/build/d5e640115bf9967e657ffd42809cd751/lock_pool.o" "../src/lock_pool.cpp"

nvc++-Error-Unknown switch: -fno-inline
...failed updating 1 target...
ninja: build stopped: subcommand failed.
@bernhardmgruber bernhardmgruber added the enhancement New feature or request label Feb 22, 2023
@Kojoley
Copy link
Contributor

Kojoley commented Mar 7, 2023

b2 toolset=gcc

nvc is pgi-based compiler, use toolset=pgi

@grafikrobot
Copy link
Member

@bernhardmgruber have you tried configuring to use the pgi toolset instead of gcc as @Kojoley mentions?

@grafikrobot grafikrobot moved this to 🆕 New in BFG Tasks Apr 15, 2023
@bernhardmgruber
Copy link
Author

@grafikrobot I have not tried it yet due to lack of time, sorry :S I assume I need to figure out whether vcpkg can (and should) pass toolset=pgi to b2, since I am not invoking b2 directly. I will give it another go in a few weeks, sorry for the long wait!

bernhardmgruber added a commit to bernhardmgruber/vcpkg that referenced this issue Sep 27, 2023
Add support for nvc++ as CXX compiler when building boost, by specifying `toolset pgi` when invoking b2.

Related discussion: bfgroup/b2#215

Fixes: microsoft#34068
bernhardmgruber added a commit to bernhardmgruber/vcpkg that referenced this issue Sep 27, 2023
Add support for nvc++ as CXX compiler when building boost, by specifying `toolset pgi` when invoking b2.

Related discussion: bfgroup/b2#215

Fixes: microsoft#34068
@bernhardmgruber
Copy link
Author

Hey! I finally hat some time to come back to this. It was indeed an issue with vcpkg, which passed toolset gcc to b2. Thx @Kojoley for your suggestion! This fixed the issue.

With toolset pgi boost-atomic builds fine with nvhpc 23.7.

Corresponding PR to vcpkg: microsoft/vcpkg#34072

Thx a lot for your help!

@github-project-automation github-project-automation bot moved this from 🆕 New to ✅ Done in BFG Tasks Sep 27, 2023
vicroms pushed a commit to microsoft/vcpkg that referenced this issue Sep 29, 2023
* [boost-build] Support nvc++

Add support for nvc++ as CXX compiler when building boost, by specifying `toolset pgi` when invoking b2.

Related discussion: bfgroup/b2#215

Fixes: #34068

* Update boost-modular-build-helper.json

---------

Co-authored-by: jim wang <[email protected]>
clementperon pushed a commit to clementperon/vcpkg that referenced this issue Oct 16, 2023
* [boost-build] Support nvc++

Add support for nvc++ as CXX compiler when building boost, by specifying `toolset pgi` when invoking b2.

Related discussion: bfgroup/b2#215

Fixes: microsoft#34068

* Update boost-modular-build-helper.json

---------

Co-authored-by: jim wang <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

No branches or pull requests

3 participants