Boost logo

Boost-Build :

Subject: Re: [Boost-build] program_options fails to copy lib in msvc-141 after bcpCopy
From: Robert (r.firl_at_[hidden])
Date: 2018-08-31 20:11:57


On 8/29/2018 2:43 PM, Kevin Maskell-Moody via Boost-build wrote:
> Hi,
>
> Our Boost build is a subset of all the modules. After upgrading to Boost
> 1.68.0, our build is now failing on the program_options target. It does
> appear to produce the program_option dll's, but not the export libs.
>
> To be honest, I don't even know what target is including
> program_options, because we don't explicitly include program_options in
> the bcpCopy command. I'm assuming filesystem by the looks of the
> following output.
>
> Here is the output from the debug build (the same is seen in release):
>
>    Creating library
> build\boost\bin.v2\libs\filesystem\build\msvc-14.1\debug\address-model-64\threading-multi\objyboost_filesystem-vc141-mt-gd-x64-1_68.lib
> and object
> build\boost\bin.v2\libs\filesystem\build\msvc-14.1\debug\address-model-64\threading-multi\objyboost_filesystem-vc141-mt-gd-x64-1_68.exp
> msvc.manifest.dll
> build\boost\bin.v2\libs\filesystem\build\msvc-14.1\debug\address-model-64\threading-multi\objyboost_filesystem-vc141-mt-gd-x64-1_68.dll
> common.copy stage\lib\objyboost_filesystem-vc141-mt-gd-x64-1_68.dll
> build\boost\bin.v2\libs\filesystem\build\msvc-14.1\debug\address-model-64\threading-multi\objyboost_filesystem-vc141-mt-gd-x64-1_68.dll
>         1 file(s) copied.
> common.copy stage\lib\objyboost_filesystem-vc141-mt-gd-x64-1_68.lib
> build\boost\bin.v2\libs\filesystem\build\msvc-14.1\debug\address-model-64\threading-multi\objyboost_filesystem-vc141-mt-gd-x64-1_68.lib
>         1 file(s) copied.
> compile-c-c++
> build\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\threading-multi\cmdline.obj
> cmdline.cpp
> compile-c-c++
> build\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\threading-multi\config_file.obj
> config_file.cpp
> compile-c-c++
> build\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\threading-multi\options_description.obj
> options_description.cpp
> compile-c-c++
> build\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\threading-multi\parsers.obj
> parsers.cpp
> compile-c-c++
> build\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\threading-multi\variables_map.obj
> variables_map.cpp
> compile-c-c++
> build\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\threading-multi\value_semantic.obj
> value_semantic.cpp
> compile-c-c++
> build\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\threading-multi\positional_options.obj
> positional_options.cpp
> compile-c-c++
> build\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\threading-multi\utf8_codecvt_facet.obj
> utf8_codecvt_facet.cpp
> compile-c-c++
> build\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\threading-multi\convert.obj
> convert.cpp
> compile-c-c++
> build\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\threading-multi\winmain.obj
> winmain.cpp
> compile-c-c++
> build\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\threading-multi\split.obj
> split.cpp
> msvc.link.dll
> build\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\threading-multi\objyboost_program_options-vc141-mt-gd-x64-1_68.dll
> msvc.manifest.dll
> build\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\threading-multi\objyboost_program_options-vc141-mt-gd-x64-1_68.dll
> common.copy stage\lib\objyboost_program_options-vc141-mt-gd-x64-1_68.dll
> build\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\threading-multi\objyboost_program_options-vc141-mt-gd-x64-1_68.dll
>         1 file(s) copied.
> common.copy stage\lib\objyboost_program_options-vc141-mt-gd-x64-1_68.lib
> The system cannot find the file specified.
>
>     copy /b
> "build\boost\bin.v2\libs\program_options\build\msvc-14.1\debug\address-model-64\threading-multi\objyboost_program_options-vc141-mt-gd-x64-1_68.lib"
> + this-file-does-not-exist-A698EE7806899E69
> "stage\lib\objyboost_program_options-vc141-mt-gd-x64-1_68.lib"
>
> ...failed common.copy
> stage\lib\objyboost_program_options-vc141-mt-gd-x64-1_68.lib...
>
>
> To describe the build more completely, we do the following:
>
> bootstrap.bat
> b2 tools/bcpCopy
> dist\bin\bcp --namespace=xxx smart_ptr filesystem array.hpp container
> move ptr_container algorithm/string.hpp tokenizer.hpp thread chrono
> atomic foreach.hpp uuid integer asio crc config context build predef
> E:\our\boost/xxx
> (from bcpCopy target dir)
> src\b2 --without-test --prefix=E:\our\boost --build-dir=build
> link=shared,static threading=multi runtime-link=shared toolset=msvc-14.1
> architecture=x86 address-model=64 variant=debug,release stage
>
> This same build process worked fine with Boost 1.59.0 on msvc 14, 12,
> and 11.
>

I am not sure how much this helps. Here is what I have though. When I
set the Boost 1.68.0, b2 for complete install, I obtain the respective
program_options*.lib and .dll files for msvc 14, 14.1, Intel 18.0,
update 3, address-model=32, and address-model=64. I am not finding a
bcpCopy* file (e.g. * is a wildcard) anywhere in the 1.68.0, 1.66.0, or
1.65.1 source file trees.

--Robert

> Regards,
> Kevin
>
>
> _______________________________________________
> Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
>


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk