#c #boost #boost-fiber
#c #повышение #boost-fiber
Вопрос:
Я создаю библиотеки boost следующим образом:
Мой ~/user-config.jam является:
using gcc : : /mxe/usr/bin/x86_64-w64-mingw32.static.posix-g : <compileflags>-W <compileflags>-Wall <compileflags>-std=c 11 <compileflags>-pedantic ;
Запуск процесса сборки с этими флагами:
./b2 --user-config=/home/cuser/user-config.jam variant=release link=static threading=multi define=BOOST_LOG_USE_COMPILER_TLS threadapi=win32 target-os=windows architecture=x86 address-model=64 abi=ms binary-format=pe cxxflags=-std=c 11 --without-python --debug-building
Это создает большинство библиотек нормально, однако библиотека fiber в результате не создается. Связанный вывод:
...........
Building target './fiber-for-install'
Build request: object(property-set)@2258 <abi>ms <address-model>64 <architecture>x86 <asynch-exceptions>off <binary-format>pe <context-impl>fcontext <debug-symbols>off <deduced-address-model>64 <deduced-architecture>x86 <exception-handling>on <extern-c-nothrow>off <inlining>full <link>static <optimization>speed <os>LINUX <pch>on <preserve-test-targets>on <profiling>off <python-debugging>off <python>2.7 <rtti>on <runtime-debugging>off <runtime-link>shared <stdlib>native <strip>off <target-os>windows <testing.execute>on <threadapi>win32 <threading>multi <toolset-gcc:version>5.5.0 <toolset>gcc <variant>release <vectorize>off <visibility>hidden <warnings-as-errors>off <warnings>on
Command line free features: <cxxflags>-std=c 11 <define>BOOST_LOG_USE_COMPILER_TLS
Target requirements: <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0>%Jamfile</workspace/3rdparty/boost_1_69_0>.handle-static-runtime <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0>%boostcpp.deduce-address-model <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0>%boostcpp.deduce-architecture <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0>%threadapi-feature.detect <define>BOOST_ALL_NO_LIB=1 <include>. <relevant>define:<relevant>toolset <relevant>link:<relevant>toolset <tag>@Jamfile</workspace/3rdparty/boost_1_69_0>%Jamfile</workspace/3rdparty/boost_1_69_0>.tag <toolset>como-linux:<define>_GNU_SOURCE=1 <toolset>como:<link>static <xsl:param>boost.defaults=Boost
Common properties: <abi>ms <address-model>64 <architecture>x86 <asynch-exceptions>off <binary-format>pe <context-impl>fcontext <cxxflags>-std=c 11 <debug-symbols>off <deduced-address-model>64 <deduced-architecture>x86 <define>BOOST_ALL_NO_LIB=1 <define>BOOST_LOG_USE_COMPILER_TLS <define>NDEBUG <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>true <host-os>linux <include>. <inlining>full <install-dependencies>off <link>static <local-visibility>hidden <optimization>speed <os>LINUX <pch>on <preserve-test-targets>on <profiling>off <python-debugging>off <python>2.7 <relevant>define:<relevant>toolset <relevant>link:<relevant>toolset <rtti>on <runtime-debugging>off <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</workspace/3rdparty/boost_1_69_0>%Jamfile</workspace/3rdparty/boost_1_69_0>.tag <target-os>windows <testing.execute>on <threadapi>win32 <threading>multi <toolset-gcc:version>5.5.0 <toolset>gcc <user-interface>console <variant>release <vectorize>off <visibility>hidden <warnings-as-errors>off <warnings>on <xsl:param>boost.defaults=Boost
building project Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build> ('object(project-target)@765') with <abi>ms <address-model>64 <architecture>x86 <asynch-exceptions>off <binary-format>pe <context-impl>fcontext <debug-symbols>off <deduced-address-model>64 <deduced-architecture>x86 <exception-handling>on <extern-c-nothrow>off <inlining>full <link>static <optimization>speed <os>LINUX <pch>on <preserve-test-targets>on <profiling>off <python-debugging>off <python>2.7 <rtti>on <runtime-debugging>off <runtime-link>shared <stdlib>native <strip>off <target-os>windows <testing.execute>on <threadapi>win32 <threading>multi <toolset-gcc:version>5.5.0 <toolset>gcc <variant>release <vectorize>off <visibility>hidden <warnings-as-errors>off <warnings>on
Building target 'libs/fiber/build/boost_fiber'
Build request: object(property-set)@2258 <abi>ms <address-model>64 <architecture>x86 <asynch-exceptions>off <binary-format>pe <context-impl>fcontext <debug-symbols>off <deduced-address-model>64 <deduced-architecture>x86 <exception-handling>on <extern-c-nothrow>off <inlining>full <link>static <optimization>speed <os>LINUX <pch>on <preserve-test-targets>on <profiling>off <python-debugging>off <python>2.7 <rtti>on <runtime-debugging>off <runtime-link>shared <stdlib>native <strip>off <target-os>windows <testing.execute>on <threadapi>win32 <threading>multi <toolset-gcc:version>5.5.0 <toolset>gcc <variant>release <vectorize>off <visibility>hidden <warnings-as-errors>off <warnings>on
Command line free features: <cxxflags>-std=c 11 <define>BOOST_LOG_USE_COMPILER_TLS
Target requirements: <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0>%Jamfile</workspace/3rdparty/boost_1_69_0>.handle-static-runtime <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0>%boostcpp.deduce-address-model <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0>%boostcpp.deduce-architecture <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0>%threadapi-feature.detect <define>BOOST_ALL_NO_LIB=1 <include>. <relevant>define:<relevant>toolset <relevant>link:<relevant>toolset <tag>@Jamfile</workspace/3rdparty/boost_1_69_0>%Jamfile</workspace/3rdparty/boost_1_69_0>.tag <toolset>como-linux:<define>_GNU_SOURCE=1 <toolset>como:<link>static <xsl:param>boost.defaults=Boost
Common properties: <abi>ms <address-model>64 <architecture>x86 <asynch-exceptions>off <binary-format>pe <context-impl>fcontext <cxxflags>-std=c 11 <debug-symbols>off <deduced-address-model>64 <deduced-architecture>x86 <define>BOOST_ALL_NO_LIB=1 <define>BOOST_LOG_USE_COMPILER_TLS <define>NDEBUG <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>true <host-os>linux <include>. <inlining>full <install-dependencies>off <link>static <local-visibility>hidden <optimization>speed <os>LINUX <pch>on <preserve-test-targets>on <profiling>off <python-debugging>off <python>2.7 <relevant>define:<relevant>toolset <relevant>link:<relevant>toolset <rtti>on <runtime-debugging>off <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</workspace/3rdparty/boost_1_69_0>%Jamfile</workspace/3rdparty/boost_1_69_0>.tag <target-os>windows <testing.execute>on <threadapi>win32 <threading>multi <toolset-gcc:version>5.5.0 <toolset>gcc <user-interface>console <variant>release <vectorize>off <visibility>hidden <warnings-as-errors>off <warnings>on <xsl:param>boost.defaults=Boost
building project Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build> ('object(project-target)@765') with <abi>ms <address-model>64 <architecture>x86 <asynch-exceptions>off <binary-format>pe <context-impl>fcontext <debug-symbols>off <deduced-address-model>64 <deduced-architecture>x86 <exception-handling>on <extern-c-nothrow>off <inlining>full <link>static <optimization>speed <os>LINUX <pch>on <preserve-test-targets>on <profiling>off <python-debugging>off <python>2.7 <rtti>on <runtime-debugging>off <runtime-link>shared <stdlib>native <strip>off <target-os>windows <testing.execute>on <threadapi>win32 <threading>multi <toolset-gcc:version>5.5.0 <toolset>gcc <variant>release <vectorize>off <visibility>hidden <warnings-as-errors>off <warnings>on
Building target 'libs/fiber/build/boost_fiber'
Build request: object(property-set)@2258 <abi>ms <address-model>64 <architecture>x86 <asynch-exceptions>off <binary-format>pe <context-impl>fcontext <debug-symbols>off <deduced-address-model>64 <deduced-architecture>x86 <exception-handling>on <extern-c-nothrow>off <inlining>full <link>static <optimization>speed <os>LINUX <pch>on <preserve-test-targets>on <profiling>off <python-debugging>off <python>2.7 <rtti>on <runtime-debugging>off <runtime-link>shared <stdlib>native <strip>off <target-os>windows <testing.execute>on <threadapi>win32 <threading>multi <toolset-gcc:version>5.5.0 <toolset>gcc <variant>release <vectorize>off <visibility>hidden <warnings-as-errors>off <warnings>on
Command line free features: <cxxflags>-std=c 11 <define>BOOST_LOG_USE_COMPILER_TLS
Target requirements: <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@798.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@799.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@800.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@801.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@802.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@803.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@804.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@805.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@806.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@807.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@808.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@809.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@810.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0>%Jamfile</workspace/3rdparty/boost_1_69_0>.handle-static-runtime <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0>%boostcpp.deduce-address-model <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0>%boostcpp.deduce-architecture <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0>%threadapi-feature.detect <define>BOOST_ALL_NO_LIB=1 <define>BOOST_FIBERS_SOURCE <implicit-dependency>/boost//headers <include>. <library>/boost/context//boost_context <library>/boost/filesystem//boost_filesystem <link>shared:<define>BOOST_FIBERS_DYN_LINK=1 <link>shared:<library>/workspace/3rdparty/boost_1_69_0/libs/context/build//boost_context <relevant>build:<relevant>address-model <relevant>build:<relevant>architecture <relevant>build:<relevant>cxxstd <relevant>build:<relevant>cxxstd-dialect <relevant>build:<relevant>target-os <relevant>build:<relevant>toolset <relevant>build:<relevant>toolset-gcc:version <relevant>cxxflags:<relevant>segmented-stacks <relevant>cxxflags:<relevant>toolset <relevant>define:<relevant>link <relevant>define:<relevant>target-os <relevant>define:<relevant>toolset <relevant>library:<relevant>link <relevant>link:<relevant>toolset <relevant>linkflags:<relevant>target-os <tag>@Jamfile</workspace/3rdparty/boost_1_69_0>%Jamfile</workspace/3rdparty/boost_1_69_0>.tag <target-os>solaris:<linkflags>-llgrp <target-os>windows:<define>_WIN32_WINNT=0x0601 <threading>multi <toolset>clang,<segmented-stacks>on:<cxxflags>-DBOOST_USE_SEGMENTED_STACKS <toolset>clang,<segmented-stacks>on:<cxxflags>-fsplit-stack <toolset>como-linux:<define>_GNU_SOURCE=1 <toolset>como:<link>static <toolset>gcc,<segmented-stacks>on:<cxxflags>-DBOOST_USE_SEGMENTED_STACKS <toolset>gcc,<segmented-stacks>on:<cxxflags>-fsplit-stack <xsl:param>boost.defaults=Boost
.....
Building target 'libs/fiber/build/boost_fiber_numa'
Build request: object(property-set)@2258 <abi>ms <address-model>64 <architecture>x86 <asynch-exceptions>off <binary-format>pe <context-impl>fcontext <debug-symbols>off <deduced-address-model>64 <deduced-architecture>x86 <exception-handling>on <extern-c-nothrow>off <inlining>full <link>static <optimization>speed <os>LINUX <pch>on <preserve-test-targets>on <profiling>off <python-debugging>off <python>2.7 <rtti>on <runtime-debugging>off <runtime-link>shared <stdlib>native <strip>off <target-os>windows <testing.execute>on <threadapi>win32 <threading>multi <toolset-gcc:version>5.5.0 <toolset>gcc <variant>release <vectorize>off <visibility>hidden <warnings-as-errors>off <warnings>on
Command line free features: <cxxflags>-std=c 11 <define>BOOST_LOG_USE_COMPILER_TLS
Target requirements: <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>.numa <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@843.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@844.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@845.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@846.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@847.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@848.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@849.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@850.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@851.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@852.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@853.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@854.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0/libs/fiber/build>%object(check-target-builds-worker)@855.check <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0>%Jamfile</workspace/3rdparty/boost_1_69_0>.handle-static-runtime <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0>%boostcpp.deduce-address-model <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0>%boostcpp.deduce-architecture <conditional>@Jamfile</workspace/3rdparty/boost_1_69_0>%threadapi-feature.detect <define>BOOST_ALL_NO_LIB=1 <define>BOOST_FIBERS_SOURCE <implicit-dependency>/boost//headers <include>. <library>/boost/context//boost_context <library>/boost/filesystem//boost_filesystem <link>shared:<define>BOOST_FIBERS_DYN_LINK=1 <relevant>build:<relevant>address-model <relevant>build:<relevant>architecture <relevant>build:<relevant>cxxstd <relevant>build:<relevant>cxxstd-dialect <relevant>build:<relevant>target-os <relevant>build:<relevant>toolset <relevant>build:<relevant>toolset-gcc:version <relevant>cxxflags:<relevant>segmented-stacks <relevant>cxxflags:<relevant>toolset <relevant>define:<relevant>link <relevant>define:<relevant>target-os <relevant>define:<relevant>toolset <relevant>link:<relevant>toolset <relevant>linkflags:<relevant>target-os <tag>@Jamfile</workspace/3rdparty/boost_1_69_0>%Jamfile</workspace/3rdparty/boost_1_69_0>.tag <target-os>solaris:<linkflags>-llgrp <target-os>windows:<define>_WIN32_WINNT=0x0601 <threading>multi <toolset>clang,<segmented-stacks>on:<cxxflags>-DBOOST_USE_SEGMENTED_STACKS <toolset>clang,<segmented-stacks>on:<cxxflags>-fsplit-stack <toolset>como-linux:<define>_GNU_SOURCE=1 <toolset>como:<link>static <toolset>gcc,<segmented-stacks>on:<cxxflags>-DBOOST_USE_SEGMENTED_STACKS <toolset>gcc,<segmented-stacks>on:<cxxflags>-fsplit-stack <xsl:param>boost.defaults=Boost
Common properties: <abi>ms <address-model>64 <architecture>x86 <asynch-exceptions>off <binary-format>pe <build>no <context-impl>fcontext <cxxflags>-std=c 11 <debug-symbols>off <deduced-address-model>64 <deduced-architecture>x86 <define>BOOST_ALL_NO_LIB=1 <define>BOOST_FIBERS_SOURCE <define>BOOST_LOG_USE_COMPILER_TLS <define>NDEBUG <define>_WIN32_WINNT=0x0601 <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>true <host-os>linux <implicit-dependency>/boost//headers <include>. <inlining>full <install-dependencies>off <library>/boost/context//boost_context <library>/boost/filesystem//boost_filesystem <link>static <local-visibility>hidden <optimization>speed <os>LINUX <pch>on <preserve-test-targets>on <profiling>off <python-debugging>off <python>2.7 <relevant>build:<relevant>address-model <relevant>build:<relevant>architecture <relevant>build:<relevant>cxxstd <relevant>build:<relevant>cxxstd-dialect <relevant>build:<relevant>target-os <relevant>build:<relevant>toolset <relevant>build:<relevant>toolset-gcc:version <relevant>cxxflags:<relevant>segmented-stacks <relevant>cxxflags:<relevant>toolset <relevant>define:<relevant>link <relevant>define:<relevant>target-os <relevant>define:<relevant>toolset <relevant>link:<relevant>toolset <relevant>linkflags:<relevant>target-os <rtti>on <runtime-debugging>off <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</workspace/3rdparty/boost_1_69_0>%Jamfile</workspace/3rdparty/boost_1_69_0>.tag <target-os>windows <testing.execute>on <threadapi>win32 <threading>multi <toolset-gcc:version>5.5.0 <toolset>gcc <user-interface>console <variant>release <vectorize>off <visibility>hidden <warnings-as-errors>off <warnings>on <xsl:param>boost.defaults=Boost
Usage requirements for fiber-for-install: <build>no
Build properties: <abi>ms <address-model>64 <architecture>x86 <asynch-exceptions>off <binary-format>pe <build>no <context-impl>fcontext <cxxflags>-std=c 11 <debug-symbols>off <deduced-address-model>64 <deduced-architecture>x86 <define>BOOST_ALL_NO_LIB=1 <define>BOOST_LOG_USE_COMPILER_TLS <define>NDEBUG <exception-handling>on <extern-c-nothrow>off <hardcode-dll-paths>true <host-os>linux <include>. <inlining>full <install-dependencies>off <link>static <local-visibility>hidden <optimization>speed <os>LINUX <pch>on <preserve-test-targets>on <profiling>off <python-debugging>off <python>2.7 <relevant>define:<relevant>toolset <relevant>link:<relevant>toolset <rtti>on <runtime-debugging>off <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</workspace/3rdparty/boost_1_69_0>%Jamfile</workspace/3rdparty/boost_1_69_0>.tag <target-os>windows <testing.execute>on <threadapi>win32 <threading>multi <toolset-gcc:version>5.5.0 <toolset>gcc <user-interface>console <variant>release <vectorize>off <visibility>hidden <warnings-as-errors>off <warnings>on <xsl:param>boost.defaults=Boost
Usage requirements from fiber-for-install: <build>no <include>.
........
gcc.compile.c bin.v2/libs/log/build/gcc-5.5.0/release/link-static/target-os-windows/threadapi-win32/threading-multi/visibility-hidden/exceptions.o
?building
- context : building
- contract : building
- coroutine : building
- date_time : building
- exception : building
- fiber : building
- filesystem : building
- graph : building
- graph_parallel : building
- iostreams : building
- locale : building
- log : building
- math : building
- mpi : building
- program_options : building
- python : not building
- random : building
- regex : building
- serialization : building
- stacktrace : building
- system : building
- test : building
- thread : building
- timer : building
- type_erasure : building
- wave : building
Ответ №1:
Похоже, что сообщается об ошибке сборки:https://svn.boost.org/trac10/ticket/12520
при удалении требований c 11 для fiber (но не для numa!), перекрестная компиляция fiber выполняется нормально