missing libboost_zlib-vc140-mt-x64-1_66.lib
Hello, I tried to build boost iostreams with zlib support with the following command on Windows: b2 -j 10 --build-dir=build\x64 --stagedir=stage\x64 --toolset=msvc -sZLIB_SOURCE=L:\vc14\zlib\zlib-1.2.8 runtime-link=shared link=static threading=multi address-model=64 debug release stage But if I try to link my program using iostreams with zlib filter it complains about the missing file libboost_zlib-vc140-mt-x64-1_66.lib, and I see it was not built. I also tried editing the project-config.jam as described in the docs: http://www.boost.org/doc/libs/1_66_0/doc/html/bbv2/reference.html#bbv2.refer... Same result. I also tried to use a pre-built zlib binary. Same result. What should I do? here is the output of b2: - 32-bit : yes (cached) - arm : no (cached) - mips1 : no (cached) - power : no (cached) - sparc : no (cached) - x86 : yes (cached) - symlinks supported : no (cached) - junctions supported : yes (cached) - hardlinks supported : yes (cached) - C++11 mutex : yes (cached) - Boost.Config Feature Check: cxx11_auto_declarations : yes (cached) - Boost.Config Feature Check: cxx11_constexpr : yes (cached) - Boost.Config Feature Check: cxx11_defaulted_functions : yes (cached) - Boost.Config Feature Check: cxx11_final : yes (cached) - Boost.Config Feature Check: cxx11_hdr_mutex : yes (cached) - Boost.Config Feature Check: cxx11_hdr_regex : yes (cached) - Boost.Config Feature Check: cxx11_hdr_tuple : yes (cached) - Boost.Config Feature Check: cxx11_lambdas : yes (cached) - Boost.Config Feature Check: cxx11_noexcept : yes (cached) - Boost.Config Feature Check: cxx11_nullptr : yes (cached) - Boost.Config Feature Check: cxx11_rvalue_references : yes (cached) - Boost.Config Feature Check: cxx11_template_aliases : yes (cached) - Boost.Config Feature Check: cxx11_thread_local : yes (cached) - Boost.Config Feature Check: cxx11_variadic_templates : yes (cached) - has_icu builds : no (cached) warning: Graph library does not contain MPI-based parallel components. note: to enable them, add "using mpi ;" to your user-config.jam - zlib : yes (cached) - bzip2 : no (cached) - lzma : no (cached) - iconv (libc) : no (cached) - iconv (separate) : no (cached) - icu : no (cached) - icu (lib64) : no (cached) - native-atomic-int32-supported : yes (cached) - message-compiler : yes (cached) - native-syslog-supported : no (cached) - pthread-supports-robust-mutexes : no (cached) - compiler-supports-visibility : no (cached) - compiler-supports-ssse3 : yes (cached) - compiler-supports-avx2 : yes (cached) - gcc visibility : no (cached) - long double support : yes (cached) warning: skipping optional Message Passing Interface (MPI) library. note: to enable MPI support, add "using mpi ;" to user-config.jam. note: to suppress this message, pass "--without-mpi" to bjam. note: otherwise, you can safely ignore this message. - libbacktrace builds : no (cached) - addr2line builds : no (cached) - WinDbg builds : yes (cached) - WinDbgCached builds : yes (cached) - zlib : yes (cached) - bzip2 : no (cached) - lzma : no (cached) Component configuration: - atomic : building - chrono : building - container : building - context : 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 : building - random : building - regex : building - serialization : building - signals : building - stacktrace : building - system : building - test : building - thread : building - timer : building - type_erasure : building - wave : building
AMDG On 03/06/2018 02:51 AM, Sebastian Pfützner via Boost-users wrote:
I tried to build boost iostreams with zlib support with the following command on Windows:
b2 -j 10 --build-dir=build\x64 --stagedir=stage\x64 --toolset=msvc -sZLIB_SOURCE=L:\vc14\zlib\zlib-1.2.8 runtime-link=shared link=static threading=multi address-model=64 debug release stage
This is supposed to work. If you add --debug-configuration, what does it say about zlib?
But if I try to link my program using iostreams with zlib filter it complains about the missing file libboost_zlib-vc140-mt-x64-1_66.lib, and I see it was not built. I also tried editing the project-config.jam as described in the docs:
In Christ, Steven Watanabe
Am 06.03.2018 um 22:22 schrieb Steven Watanabe via Boost-users:
This is supposed to work. If you add --debug-configuration, what does it say about zlib?
Ok, after calling b2 --clean and deleting the build and stage directory, it worked. It seems that b2 sometimes doesn't detect changed parameters. So I tried again with a prebuild zlib: b2 -j 10 --build-dir=build\x64 --stagedir=stage\x64 --toolset=msvc --debug-configuration -sZLIB_BINARY=zlibstat.lib -sZLIB_INCLUDE=L:\vc14\zlib\zlib-1.2.8 -sZLIB_LIBPATH=L:\vc14\zlib\zlib-1.2.8\contrib\vstudio\vc11\x64\ZlibStatReleaseWithoutAsm runtime-link=shared link=static threading=multi address-model=64 debug release stage This time libboost_zlib...lib is again not built and the output regarding zlib is: ... notice: [zlib] Using pre-installed library notice: [zlib] Condition ... - zlib : no ... So what is wrong now? Thanks in advance!
AMDG On 03/07/2018 02:34 AM, Sebastian Pfützner via Boost-users wrote:
Am 06.03.2018 um 22:22 schrieb Steven Watanabe via Boost-users:
This is supposed to work. If you add --debug-configuration, what does it say about zlib?
Ok, after calling b2 --clean and deleting the build and stage directory, it worked. It seems that b2 sometimes doesn't detect changed parameters.
So I tried again with a prebuild zlib:
b2 -j 10 --build-dir=build\x64 --stagedir=stage\x64 --toolset=msvc --debug-configuration -sZLIB_BINARY=zlibstat.lib -sZLIB_INCLUDE=L:\vc14\zlib\zlib-1.2.8 -sZLIB_LIBPATH=L:\vc14\zlib\zlib-1.2.8\contrib\vstudio\vc11\x64\ZlibStatReleaseWithoutAsm runtime-link=shared link=static threading=multi address-model=64 debug release stage
This time libboost_zlib...lib is again not built
That's expected when you use a pre-built binary.
and the output regarding zlib is:
... notice: [zlib] Using pre-installed library notice: [zlib] Condition ... - zlib : no ...
So what is wrong now?
Look at bin.v2/configure.log. It should show a failure either to include zlib.h or to link to the library.
Thanks in advance!
In Christ, Steven Watanabe
Am 07.03.2018 um 16:07 schrieb Steven Watanabe via Boost-users:
Look at bin.v2/configure.log. It should show a failure either to include zlib.h or to link to the library.
Yes, it was the ".lib" of the library name. If I remove it, it finds zlib again. But now I'm back at square one. My program does not build because boost wants to link against libboost_zlib-vc140-mt-x64-1_66.lib. Do I need to define something to get boost to use my prebuild zlib?
AMDG On 03/09/2018 02:03 AM, Sebastian Pfützner via Boost-users wrote:
Am 07.03.2018 um 16:07 schrieb Steven Watanabe via Boost-users:
Look at bin.v2/configure.log. It should show a failure either to include zlib.h or to link to the library.
Yes, it was the ".lib" of the library name. If I remove it, it finds zlib again. But now I'm back at square one. My program does not build because boost wants to link against libboost_zlib-vc140-mt-x64-1_66.lib. Do I need to define something to get boost to use my prebuild zlib?
It looks like the auto-linking code for zlib was written assuming that you are building zlib from source. You can add -DBOOST_IOSTREAMS_NO_LIB, but then you also need to link to boost_iostreams explicitly. In Christ, Steven Watanabe
Am 09.03.2018 um 16:30 schrieb Steven Watanabe via Boost-users:
It looks like the auto-linking code for zlib was written assuming that you are building zlib from source. You can add -DBOOST_IOSTREAMS_NO_LIB, but then you also need to link to boost_iostreams explicitly.
Thanks for your time, I could finally solve the problem. Do you think, this behavior should be reported? Is this: https://svn.boost.org/trac10/newticket still the right place for bug reports for boost iostream?
AMDG On 03/12/2018 07:58 AM, Sebastian Pfützner via Boost-users wrote:
Am 09.03.2018 um 16:30 schrieb Steven Watanabe via Boost-users:
It looks like the auto-linking code for zlib was written assuming that you are building zlib from source. You can add -DBOOST_IOSTREAMS_NO_LIB, but then you also need to link to boost_iostreams explicitly.
Thanks for your time, I could finally solve the problem. Do you think, this behavior should be reported? Is this: https://svn.boost.org/trac10/newticket still the right place for bug reports for boost iostream?
Yes. I looked at the code again, and it seems you can get auto-linking to work with -DBOOST_ZLIB_BINARY=<libraryname> This doesn't seem to be documented, though, which is a bug. In Christ, Steven Watanabe
On 3/12/2018 9:58 AM, Sebastian Pfützner via Boost-users wrote:
Am 09.03.2018 um 16:30 schrieb Steven Watanabe via Boost-users:
It looks like the auto-linking code for zlib was written assuming that you are building zlib from source. You can add -DBOOST_IOSTREAMS_NO_LIB, but then you also need to link to boost_iostreams explicitly.
Thanks for your time, I could finally solve the problem. Do you think, this behavior should be reported? Is this: https://svn.boost.org/trac10/newticket still the right place for bug reports for boost iostream?
Please report problems for iostreams at https://github.com/boostorg/iostreams/issues.
participants (3)
-
Edward Diener
-
Sebastian Pfützner
-
Steven Watanabe