Builds from boost/status fail early?
Using develop from this morning (tried various combinations of these three options...): boost@d48d3305d4b4:/boost/status$ ../b2 toolset=clang variant=release cxxstd=03 ... /boost/tools/build/src/build/feature.jam:491: in validate-value-string from module feature error: "shared:" is not a known value of feature <link> error: legal values: "shared" "static" /boost/tools/build/src/build/feature.jam:365: in expand-subfeatures-aux from module feature /boost/tools/build/src/build/feature.jam:422: in expand-subfeatures from module feature /boost/tools/build/src/build/feature.jam:871: in feature.expand from module feature /boost/tools/build/src/build/targets.jam:1103: in evaluate-requirements from module targets /boost/tools/build/src/build/targets.jam:1121: in common-properties2 from module targets /boost/tools/build/src/build/targets.jam:1017: in targets.common-properties from module targets /boost/tools/build/src/build/targets.jam:1313: in class@basic-target.generate from module object(typed-target)@47912 /boost/tools/build/src/build/targets.jam:812: in generate-really from module object(main-target)@70272 /boost/tools/build/src/build/targets.jam:784: in class@main-target.generate from module object(main-target)@70272 /boost/tools/build/src/build/targets.jam:273: in class@project-target.generate from module object(project-target)@47307 /boost/tools/build/src/build/targets.jam:273: in class@project-target.generate from module object(project-target)@4568 /boost/tools/build/src/build-system.jam:797: in load from module build-system /boost/tools/build/src/kernel/modules.jam:295: in import from module modules /boost/tools/build/src/kernel/bootstrap.jam:139: in boost-build from module /boost/boost-build.jam:17: in module scope from module
AMDG On 10/27/2018 11:07 AM, James E. King III via Boost wrote:
Using develop from this morning (tried various combinations of these three options...):
boost@d48d3305d4b4:/boost/status$ ../b2 toolset=clang variant=release cxxstd=03 ... /boost/tools/build/src/build/feature.jam:491: in validate-value-string from module feature error: "shared:" is not a known value of feature <link> error: legal values: "shared" "static"
This looks like a conditional gone wrong, but I can't reproduce the problem. Steps to track this down: - run the b2 debugger: b2 -dconsole - set a breakpoint at errors.error: break errors.error - Start the program: run toolset=clang variant=release cxxstd=03 - Find out which target is the source of the error: backtrace print [ object(typed-target)@47912.location ] (substitute the actual object name that appears on the stack)
<snip> /boost/tools/build/src/build/targets.jam:1313: in class@basic-target.generate from module object(typed-target)@47912 /boost/tools/build/src/build/targets.jam:812: in generate-really from module object(main-target)@70272 <snip>
In Christ, Steven Watanabe
On Sat, Oct 27, 2018 at 4:53 PM Steven Watanabe via Boost < boost@lists.boost.org> wrote:
AMDG
Using develop from this morning (tried various combinations of these
On 10/27/2018 11:07 AM, James E. King III via Boost wrote: three
options...):
boost@d48d3305d4b4:/boost/status$ ../b2 toolset=clang variant=release cxxstd=03 ... /boost/tools/build/src/build/feature.jam:491: in validate-value-string from module feature error: "shared:" is not a known value of feature <link> error: legal values: "shared" "static"
This looks like a conditional gone wrong, but I can't reproduce the problem.
Steps to track this down: - run the b2 debugger: b2 -dconsole - set a breakpoint at errors.error: break errors.error - Start the program: run toolset=clang variant=release cxxstd=03 - Find out which target is the source of the error: backtrace print [ object(typed-target)@47912.location ] (substitute the actual object name that appears on the stack)
<snip> /boost/tools/build/src/build/targets.jam:1313: in class@basic-target.generate from module object(typed-target)@47912 /boost/tools/build/src/build/targets.jam:812: in generate-really from module object(main-target)@70272 <snip>
In Christ, Steven Watanabe
I find it both amazing and scary that Boost.Build has an interactive debugger. In any case, if you use the docker container in the pull request in boostorg/boost you would probably be able to reproduce this because it pulls in dependencies of many of the repositories. For example the docker container is using Python 3.6. (might I suggest aliasing "bt" for "backtrace" in the Boost.Build debugger?) ``` (b2db) backtrace #0 in errors.error ( "shared:" is not a known value of feature <link> : legal values: "shared" "static" ) at /boost/tools/build/src/kernel/errors.jam:149 #1 in validate-value-string ( <link> shared: ) at /boost/tools/build/src/build/feature.jam:491 #2 in expand-subfeatures-aux ( <link> : shared: : ) at /boost/tools/build/src/build/feature.jam:365 #3 in expand-subfeatures ( <link>shared: <python.interpreter>python3.6 <deduced-address-model>64 <deduced-architecture>x86 ) at /boost/tools/build/src/build/feature.jam:422 #4 in feature.expand ( <link>shared: <python.interpreter>python3.6 <deduced-address-model>64 <deduced-architecture>x86 ) at /boost/tools/build/src/build/feature.jam:871 #5 in evaluate-requirements ( object(property-set)@260675 : object(property-set)@73308 ) at /boost/tools/build/src/build/targets.jam:1103 #6 in common-properties2 ( object(property-set)@73308 object(property-set)@260675 ) at /boost/tools/build/src/build/targets.jam:1121 #7 in targets.common-properties ( object(property-set)@73308 object(property-set)@47911 ) at /boost/tools/build/src/build/targets.jam:1017 #8 in class@basic-target.generate ( object(property-set)@73308 ) at /boost/tools/build/src/build/targets.jam:1313 #9 in generate-really ( object(property-set)@73308 ) at /boost/tools/build/src/build/targets.jam:812 #10 in class@main-target.generate ( object(property-set)@73156 ) at /boost/tools/build/src/build/targets.jam:784 #11 in class@project-target.generate ( object(property-set)@73156 ) at /boost/tools/build/src/build/targets.jam:273 #12 in class@project-target.generate ( object(property-set)@73156 ) at /boost/tools/build/src/build/targets.jam:273 #13 in load ( build-system : : /boost/tools/build/src /usr/share/boost-build /boost/tools/build/src/kernel /boost/tools/build/src/util /boost/tools/build/src/build /boost/tools/build/src/tools /boost/tools/build/src/contrib /boost/tools/build/src ) at /boost/tools/build/src/build-system.jam:797 #14 in import ( build-system ) at /boost/tools/build/src/kernel/modules.jam:295 #15 in boost-build ( tools/build/src ) at /boost/tools/build/src/kernel/bootstrap.jam:139 #16 in module scope at /boost/boost-build.jam:17 ``` so: ``` (b2db) print [ object(typed-target)@73156.location ] (builtin):1: in errors.error ERROR: rule "object(typed-target)@73156.location" unknown in module "errors". /boost/tools/build/src/build/feature.jam:491: in validate-value-string /boost/tools/build/src/build/feature.jam:365: in expand-subfeatures-aux /boost/tools/build/src/build/feature.jam:422: in expand-subfeatures /boost/tools/build/src/build/feature.jam:871: in feature.expand /boost/tools/build/src/build/targets.jam:1103: in evaluate-requirements /boost/tools/build/src/build/targets.jam:1121: in common-properties2 /boost/tools/build/src/build/targets.jam:1017: in targets.common-properties /boost/tools/build/src/build/targets.jam:1313: in class@basic-target.generate /boost/tools/build/src/build/targets.jam:812: in generate-really /boost/tools/build/src/build/targets.jam:784: in class@main-target.generate /boost/tools/build/src/build/targets.jam:273: in class@project-target.generate /boost/tools/build/src/build/targets.jam:273: in class@project-target.generate /boost/tools/build/src/build-system.jam:797: in load /boost/tools/build/src/kernel/modules.jam:295: in import /boost/tools/build/src/kernel/bootstrap.jam:139: in boost-build /boost/boost-build.jam:17: in module scope <<< many blank lines >>> ``` The user.config.jam placed into the docker container has: ``` # # Copyright (C) 2018 James E. King III # # Use, modification, and distribution are subject to the # Boost Software License, Version 1.0. (See accompanying file # LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) # # Help bjam find clang++-6.0 for "clang" # (see: https://github.com/boostorg/build/issues/306) using clang : 6.0 : /usr/bin/clang++-6.0 ; using gcc : 7.3 : /usr/bin/g++-7 ; # For building documentation # This is what setup_boostbook.sh would do using boostbook : /opt/docbook-xsl-1.75.2 : /opt/docbook-dtd-4.2 ; using xsltproc : /usr/bin/xsltproc ; using doxygen : /usr/bin/doxygen ; using fop : /opt/fop-0.94/fop : : /usr/bin/java ; # Python 3.6 dev kit is installed using python : 3.6 ; ``` Complete build output: ``` boost@d48d3305d4b4:/boost/status$ ../b2 toolset=clang variant=release cxxstd=03 ../libs/contract/test/Jamfile.v2:417: Unescaped special character in argument <define>BOOST_CONTRACT_ON_MISSING_CHECK_DECL="{ throw err(); }" ../libs/multiprecision/test/Jamfile.v2:58: Unescaped special character in argument <toolset>msvc:<cxxflags>/fp:precise ../libs/statechart/test/Jamfile.v2:40: Unescaped special character in argument <link>shared: ../libs/statechart/test/Jamfile.v2:105: Unescaped special character in argument <link>shared:$(dll) Performing configuration checks - default address-model : 64-bit (cached) - default architecture : x86 (cached) - symlinks supported : yes (cached) - BOOST_COMP_GNUC >= 4.3.0 : no - has_icu builds : no - lockfree boost::atomic_flag : yes - Boost.Config Feature Check: cxx11_constexpr : no - Boost.Config Feature Check: cxx11_decltype : no - Boost.Config Feature Check: cxx11_hdr_tuple : no - Boost.Config Feature Check: cxx11_template_aliases : no - Boost.Config Feature Check: cxx11_variadic_templates : no - OpenCL : no - C++11 mutex : no - Boost.Config Feature Check: cxx11_auto_declarations : 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_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_thread_local : no warning: non-free usage requirements <threading>multi ignored warning: in main-target mpi at /home/boost/user-config.jam:23 warning: non-free usage requirements <threading>multi ignored warning: in main-target boost_mpi at ../libs/mpi/build/Jamfile.v2:119 - iconv (libc) : yes - icu : no - icu (lib64) : no - native-atomic-int32-supported : yes - native-syslog-supported : yes - pthread-supports-robust-mutexes : yes - compiler-supports-ssse3 : yes - compiler-supports-avx2 : yes - Boost.Config Feature Check: cxx14_constexpr : no - BOOST_COMP_GNUC >= 4.7.4 : no - Boost.Config Feature Check: cxx14_decltype_auto : no - Boost.Config Feature Check: cxx14_generic_lambdas : no - Boost.Config Feature Check: cxx14_return_type_deduction : no - Boost.Config Feature Check: cxx11_constexpr : no - Boost.Config Feature Check: cxx11_decltype : no - Boost.Config Feature Check: cxx11_hdr_tuple : no - Boost.Config Feature Check: cxx11_template_aliases : no - Boost.Config Feature Check: cxx11_variadic_templates : no - OpenCL : no - has_atomic_lib builds : yes - has_pthread_lib builds : yes - has_rt_lib builds : yes - Clang implicit fallthrough : yes - Boost.Config Feature Check: int128 : yes - Boost.Config Feature Check: cxx11_user_defined_literals : no - Boost.Config Feature Check: cxx11_hdr_thread : no - Boost.Config Feature Check: cxx11_variadic_macros : yes - Boost.Config Feature Check: cxx11_hdr_array : no - libjpeg : yes - zlib : yes - libpng : yes - libtiff : yes - Boost.Config Feature Check: unistd_h : yes - Boost.Config Feature Check: unistd_h : yes - Checking for gmpxx.h : yes - bzip2 : yes - lzma : yes - zstd : yes - GCC libquadmath and __float128 support : no - Boost.Config Feature Check: cxx11_smart_ptr : no - Boost.Config Feature Check: cxx11_unified_initialization_syntax : no - Boost.Config Feature Check: sfinae_expr : yes - Boost.Config Feature Check: cxx11_range_based_for : no - libfftw3 : no - __float128 : no - gcc visibility : yes - long double support : yes - Intel _Quad datatype support : no - has_ntl_rr builds : no - has_mpfr_class builds : no - has_mpreal builds : no - has_e_float builds : no - Boost.Config Feature Check: cxx11_hdr_atomic : no - Boost.Config Feature Check: cxx11_hdr_future : no - Boost.Config Feature Check: cxx11_hdr_chrono : no - Boost.Config Feature Check: cxx11_hdr_random : no - Boost.Config Feature Check: cxx11_allocator : no - 128-bit floatmax_t : no - Boost.Config Feature Check: cxx11_numeric_limits : no - Boost.Config Feature Check: cxx11_explicit_conversion_operators : no - Boost.Config Feature Check: cxx11_function_template_default_args : no - BOOST_MULTI_INDEX_KEY_SUPPORTED defined : no - has_gmp builds : yes - has_mpfr builds : no - has_tommath builds : no - has_mpfi builds : no - has_float128 builds : no - has_intel_quad builds : no - has_mpc builds : no - has_eigen builds : no - has_gmp builds : yes - has_mpfr builds : no error: No best alternative for ../libs/parameter/test/compose_fail_0 next alternative: required properties: (empty) matched next alternative: required properties: (empty) matched error: No best alternative for ../libs/parameter/test/compose_fail_0 next alternative: required properties: (empty) matched next alternative: required properties: (empty) matched error: No best alternative for ../libs/parameter/test/compose_fail_0 next alternative: required properties: (empty) matched next alternative: required properties: (empty) matched error: No best alternative for ../libs/parameter/test/compose_fail_0 next alternative: required properties: (empty) matched next alternative: required properties: (empty) matched - Boost.Config Feature Check: cxx11_hdr_unordered_map : no - Boost.Config Feature Check: cxx11_hdr_unordered_set : no - Boost.Config Feature Check: cxx11_noexcept : no WARNING: Unable to construct ../libs/predef/test/info_as_objcpp of type RUN with these properties: <abi>sysv <address-model>64 <architecture>x86 <asynch-exceptions>off <bc_hdr>lib <bc_no>all_yes <binary-format>elf <context-impl>fcontext <cxxstd-dialect>iso <cxxstd>03 <debug-symbols>off <deduced-address-model>64 <deduced-architecture>x86 <define>BOOST_ALL_NO_LIB=1 <define>NDEBUG <dependency>object(file-target)@88019 <doxygen.doxproc.index>no <doxygen.processor>xsltproc <exception-handling>on <extern-c-nothrow>off <format>html <hardcode-dll-paths>true <host-os>linux <implicit-dependency>object(notfile-target)@76261 <include>.. <include>/boost/libs/predef/include <inlining>full <install-dependencies>off <link>shared <local-visibility>hidden <location-prefix>info_as_objcpp.test <optimization>speed <os>LINUX <pch>on <preserve-test-targets>on <profiling>off <python-debugging>off <python.interpreter>python2.7 <python>2.7 <relevant>define:<relevant>toolset <relevant>link:<relevant>toolset <relevant>python.interpreter:<relevant>python <relevant>python.interpreter:<relevant>target-os <relevant>toolset <rtti>on <runtime-debugging>off <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</boost>%Jamfile</boost>.tag <target-os>linux <test-info>always_show_run_output <testing.execute>on <threadapi>pthread <threading>single <toolset-clang:platform>linux <toolset-clang:version>6.0 <toolset>clang <user-interface>console <variant>release <vectorize>off <visibility>hidden <warnings-as-errors>off <warnings>on <xsl:param>boost.defaults=Boost WARNING: Considered these as possible generators: WARNING: testing.expect-success with source types { RUN_OUTPUT } and requirements { } WARNING: Unable to construct ../libs/predef/test/info_as_objc of type RUN with these properties: <abi>sysv <address-model>64 <architecture>x86 <asynch-exceptions>off <bc_hdr>lib <bc_no>all_yes <binary-format>elf <context-impl>fcontext <cxxstd-dialect>iso <cxxstd>03 <debug-symbols>off <deduced-address-model>64 <deduced-architecture>x86 <define>BOOST_ALL_NO_LIB=1 <define>NDEBUG <dependency>object(file-target)@88019 <doxygen.doxproc.index>no <doxygen.processor>xsltproc <exception-handling>on <extern-c-nothrow>off <format>html <hardcode-dll-paths>true <host-os>linux <implicit-dependency>object(notfile-target)@76261 <include>.. <include>/boost/libs/predef/include <inlining>full <install-dependencies>off <link>shared <local-visibility>hidden <location-prefix>info_as_objc.test <optimization>speed <os>LINUX <pch>on <preserve-test-targets>on <profiling>off <python-debugging>off <python.interpreter>python2.7 <python>2.7 <relevant>define:<relevant>toolset <relevant>link:<relevant>toolset <relevant>python.interpreter:<relevant>python <relevant>python.interpreter:<relevant>target-os <relevant>toolset <rtti>on <runtime-debugging>off <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</boost>%Jamfile</boost>.tag <target-os>linux <test-info>always_show_run_output <testing.execute>on <threadapi>pthread <threading>single <toolset-clang:platform>linux <toolset-clang:version>6.0 <toolset>clang <user-interface>console <variant>release <vectorize>off <visibility>hidden <warnings-as-errors>off <warnings>on <xsl:param>boost.defaults=Boost WARNING: Considered these as possible generators: WARNING: testing.expect-success with source types { RUN_OUTPUT } and requirements { } - BOOST_OS_MACOS : no - BOOST_COMP_CLANG > 0.0.0 : yes - BOOST_OS_LINUX == 0 : no WARNING: Unable to construct ../libs/predef/test/info_as_objcpp of type RUN with these properties: <abi>sysv <address-model>64 <architecture>x86 <asynch-exceptions>off <bc_hdr>lib <bc_no>all_yes <binary-format>elf <context-impl>fcontext <cxxstd-dialect>iso <cxxstd>03 <debug-symbols>off <deduced-address-model>64 <deduced-architecture>x86 <define>BOOST_ALL_NO_LIB=1 <define>NDEBUG <dependency>object(file-target)@88019 <doxygen.doxproc.index>no <doxygen.processor>xsltproc <exception-handling>on <extern-c-nothrow>off <format>html <hardcode-dll-paths>true <host-os>linux <implicit-dependency>object(notfile-target)@76261 <include>.. <include>/boost/libs/predef/include <inlining>full <install-dependencies>off <link>shared <local-visibility>hidden <location-prefix>info_as_objcpp.test <optimization>speed <os>LINUX <pch>on <preserve-test-targets>on <profiling>off <python-debugging>off <python.interpreter>python2.7 <python>2.7 <relevant>define:<relevant>toolset <relevant>link:<relevant>toolset <relevant>python.interpreter:<relevant>python <relevant>python.interpreter:<relevant>target-os <relevant>toolset <rtti>on <runtime-debugging>off <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</boost>%Jamfile</boost>.tag <target-os>linux <test-info>always_show_run_output <testing.execute>on <threadapi>pthread <threading>single <toolset-clang:platform>linux <toolset-clang:version>6.0 <toolset>clang <user-interface>console <variant>release <vectorize>off <visibility>hidden <warnings-as-errors>off <warnings>on <xsl:param>boost.defaults=Boost WARNING: Considered these as possible generators: WARNING: testing.expect-success with source types { RUN_OUTPUT } and requirements { } WARNING: Unable to construct ../libs/predef/test/info_as_objc of type RUN with these properties: <abi>sysv <address-model>64 <architecture>x86 <asynch-exceptions>off <bc_hdr>lib <bc_no>all_yes <binary-format>elf <context-impl>fcontext <cxxstd-dialect>iso <cxxstd>03 <debug-symbols>off <deduced-address-model>64 <deduced-architecture>x86 <define>BOOST_ALL_NO_LIB=1 <define>NDEBUG <dependency>object(file-target)@88019 <doxygen.doxproc.index>no <doxygen.processor>xsltproc <exception-handling>on <extern-c-nothrow>off <format>html <hardcode-dll-paths>true <host-os>linux <implicit-dependency>object(notfile-target)@76261 <include>.. <include>/boost/libs/predef/include <inlining>full <install-dependencies>off <link>shared <local-visibility>hidden <location-prefix>info_as_objc.test <optimization>speed <os>LINUX <pch>on <preserve-test-targets>on <profiling>off <python-debugging>off <python.interpreter>python2.7 <python>2.7 <relevant>define:<relevant>toolset <relevant>link:<relevant>toolset <relevant>python.interpreter:<relevant>python <relevant>python.interpreter:<relevant>target-os <relevant>toolset <rtti>on <runtime-debugging>off <runtime-link>shared <stdlib>native <strip>off <suppress-import-lib>false <symlink-location>project-relative <tag>@Jamfile</boost>%Jamfile</boost>.tag <target-os>linux <test-info>always_show_run_output <testing.execute>on <threadapi>pthread <threading>single <toolset-clang:platform>linux <toolset-clang:version>6.0 <toolset>clang <user-interface>console <variant>release <vectorize>off <visibility>hidden <warnings-as-errors>off <warnings>on <xsl:param>boost.defaults=Boost WARNING: Considered these as possible generators: WARNING: testing.expect-success with source types { RUN_OUTPUT } and requirements { } - zlib : yes (cached) - bzip2 : yes (cached) - lzma : yes (cached) - zstd : yes (cached) - zlib : yes - bzip2 : yes - lzma : yes - zstd : yes - Boost.Config Feature Check: auto_ptr : yes - Boost.Config Feature Check: cxx14_constexpr : no - Boost.Config Feature Check: cxx11_lambdas : no - Boost.Config Feature Check: std_wstreambuf : yes - Boost.Config Feature Check: cxx11_hdr_forward_list : no - Boost.Config Feature Check: hash : yes - Boost.Config Feature Check: slist : yes - Boost.Config Feature Check: cxx14_decltype_auto : no - Boost.Config Feature Check: cxx14_generic_lambdas : no - Boost.Config Feature Check: cxx14_return_type_deduction : no - libbacktrace builds : no - libbacktrace builds : no - addr2line builds : yes - addr2line builds : yes - WinDbg builds : no - WinDbg builds : no - WinDbgCached builds : no - WinDbgCached builds : no /boost/tools/build/src/build/feature.jam:491: in validate-value-string from module feature error: "shared:" is not a known value of feature <link> error: legal values: "shared" "static" /boost/tools/build/src/build/feature.jam:365: in expand-subfeatures-aux from module feature /boost/tools/build/src/build/feature.jam:422: in expand-subfeatures from module feature /boost/tools/build/src/build/feature.jam:871: in feature.expand from module feature /boost/tools/build/src/build/targets.jam:1103: in evaluate-requirements from module targets /boost/tools/build/src/build/targets.jam:1121: in common-properties2 from module targets /boost/tools/build/src/build/targets.jam:1017: in targets.common-properties from module targets /boost/tools/build/src/build/targets.jam:1313: in class@basic-target.generate from module object(typed-target)@48543 /boost/tools/build/src/build/targets.jam:812: in generate-really from module object(main-target)@71025 /boost/tools/build/src/build/targets.jam:784: in class@main-target.generate from module object(main-target)@71025 /boost/tools/build/src/build/targets.jam:273: in class@project-target.generate from module object(project-target)@47938 /boost/tools/build/src/build/targets.jam:273: in class@project-target.generate from module object(project-target)@4593 /boost/tools/build/src/build-system.jam:797: in load from module build-system /boost/tools/build/src/kernel/modules.jam:295: in import from module modules /boost/tools/build/src/kernel/bootstrap.jam:139: in boost-build from module /boost/boost-build.jam:17: in module scope from module ``` Thanks, - Jim
AMDG On 10/27/2018 03:11 PM, Peter Dimov via Boost wrote:
James E. King III wrote:
../libs/statechart/test/Jamfile.v2:40: Unescaped special character in argument <link>shared:
There you go.
Yep. The expected output should be: ..\libs\statechart\test\Jamfile.v2:40: Unescaped special character in argument <link>shared:$(dll-export) In Christ, Steven Watanabe
AMDG On 10/27/2018 03:05 PM, James E. King III wrote:
On Sat, Oct 27, 2018 at 4:53 PM Steven Watanabe via Boost < boost@lists.boost.org> wrote:
<snip> I find it both amazing and scary that Boost.Build has an interactive debugger. In any case, if you use the docker container in the pull request in boostorg/boost you would probably be able to reproduce this because it pulls in dependencies of many of the repositories. For example the docker container is using Python 3.6.
(might I suggest aliasing "bt" for "backtrace" in the Boost.Build debugger?)
That's reasonable, but I'd actually like to match gdb's command alias/abbreviations systematically rather than adding individual aliases on an ad-hoc basis.
``` <snip> #10 in class@main-target.generate ( object(property-set)@73156 ) at /boost/tools/build/src/build/targets.jam:784 <snip> ```
so: ``` (b2db) print [ object(typed-target)@73156.location ] (builtin):1: in errors.error ERROR: rule "object(typed-target)@73156.location" unknown in module "errors".
Well, that shows a clear deficiency in the debugger. @73156 is a property-set (hence the error) and the id of the object that you need is not shown anywhere. In Christ, Steven Watanabe
Steven Watanabe wrote:
(might I suggest aliasing "bt" for "backtrace" in the Boost.Build debugger?)
That's reasonable, but I'd actually like to match gdb's command alias/abbreviations systematically rather than adding individual aliases on an ad-hoc basis.
`bt` is a gdb abbreviation though. :-)
AMDG On 10/27/2018 04:58 PM, Peter Dimov via Boost wrote:
Steven Watanabe wrote:
(might I suggest aliasing "bt" for "backtrace" in the Boost.Build > debugger?)
That's reasonable, but I'd actually like to match gdb's command alias/abbreviations systematically rather than adding individual aliases on an ad-hoc basis.
`bt` is a gdb abbreviation though. :-)
I know. All I'm saying is that I also want to add support for: "The names where and info stack (abbreviated info s) are additional aliases for backtrace." "You can abbreviate a GDB command to the first few letters of the command name, if that abbreviation is unambiguous" r (run), s (step), b (break), etc. at the same time. In Christ, Steven Watanabe
James E. King III wrote:
Using develop from this morning (tried various combinations of these three options...):
boost@d48d3305d4b4:/boost/status$ ../b2 toolset=clang variant=release cxxstd=03 ... /boost/tools/build/src/build/feature.jam:491: in validate-value-string from module feature error: "shared:" is not a known value of feature <link> error: legal values: "shared" "static"
I suspect this as the cause: ../libs/statechart/test/Jamfile.v2:40: Unescaped special character in argument <link>shared:$(dll-export) ../libs/statechart/test/Jamfile.v2:105: Unescaped special character in argument <link>shared:$(dll) Haven't looked at it too deeply though. You can exclude statechart from the tests by using `--exclude-tests=statechart`.
On Sat, Oct 27, 2018 at 5:04 PM Peter Dimov via Boost <boost@lists.boost.org> wrote:
Using develop from this morning (tried various combinations of these
James E. King III wrote: three
options...):
boost@d48d3305d4b4:/boost/status$ ../b2 toolset=clang variant=release cxxstd=03 ... /boost/tools/build/src/build/feature.jam:491: in validate-value-string from module feature error: "shared:" is not a known value of feature <link> error: legal values: "shared" "static"
I suspect this as the cause:
../libs/statechart/test/Jamfile.v2:40: Unescaped special character in argument <link>shared:$(dll-export) ../libs/statechart/test/Jamfile.v2:105: Unescaped special character in argument <link>shared:$(dll)
Haven't looked at it too deeply though.
You can exclude statechart from the tests by using `--exclude-tests=statechart`.
That was it. Thank you! I was trying to use --without-statechart but that doesn't work. Where do we run boost builds in boost/status in CI? Should have caught this earlier. In any case, I already filed an issue for this. statechart is one of two remaining CMT repositories (along with disjoint_sets) i haven't gotten through sanitizing yet. - Jim
James E. King III wrote:
Where do we run boost builds in boost/status in CI? Should have caught this earlier.
The whole `status` is way too expensive for CI, so the superproject runs it with `b2 -n` to catch Jamfile errors (this would have caught your problem, but it doesn't show up there - for some reason $(dll-export) seems to be missing in your case, but it's there on develop. It's probably something in your local copy.) The superproject also runs a "quick" status, which consists of going through the test Jamfiles and running the `quick` target, if they have one. (`run quick.cpp ;` usually.) But not many projects have these, because I haven't advertised this. :-)
On Sat, Oct 27, 2018 at 5:20 PM Peter Dimov via Boost <boost@lists.boost.org> wrote:
The whole `status` is way too expensive for CI, so the superproject runs it with `b2 -n` to catch Jamfile errors (this would have caught your problem, but it doesn't show up there - for some reason $(dll-export) seems to be missing in your case, but it's there on develop. It's probably something in your local copy.)
That unescaped colon is on develop; not sure why the superproject build wouldn't have caught this. In any case I have a PR out to fix. In this case based on changes in Boost.Function I wanted to run everything to make sure there were no regressions. - Jim
AMDG On 10/27/2018 03:20 PM, Peter Dimov via Boost wrote:
James E. King III wrote:
Where do we run boost builds in boost/status in CI? Should have caught this earlier.
The whole `status` is way too expensive for CI, so the superproject runs it with `b2 -n` to catch Jamfile errors (this would have caught your problem, but it doesn't show up there - for some reason $(dll-export) seems to be missing in your case, but it's there on develop. It's probably something in your local copy.)
It's not even that it's missing. It has to be defined and hold an empty string to cause this. I just don't see how this is possible.
The superproject also runs a "quick" status, which consists of going through the test Jamfiles and running the `quick` target, if they have one. (`run quick.cpp ;` usually.) But not many projects have these, because I haven't advertised this. :-)
In Christ, Steven Watanabe
participants (3)
-
James E. King III
-
Peter Dimov
-
Steven Watanabe