Opened 6 years ago
Closed 5 years ago
#12505 closed Bugs (fixed)
1.62 msvc configure regression : Name clash for main.obj
Reported by: | jschueller | Owned by: | Vladimir Prus |
---|---|---|---|
Milestone: | To Be Determined | Component: | build |
Version: | Boost 1.62.0 | Severity: | Regression |
Keywords: | main.obj msvc | Cc: |
Description
Hello,
I'm trying to update from boost 1.61 to 1.62 on msvc for conda and encountered this error:
[00:03:41] Performing configuration checks [00:03:41] [00:03:41] - 32-bit : yes ... [00:03:41] - x86 : yes [00:03:41] - symlinks supported : yes [00:03:41] - C++11 mutex : no [00:03:41] - Boost.Config Feature Check: cxx11_auto_declarations : no ... [00:03:42] - has_icu builds : no ... [00:03:43] - zlib : yes [00:03:43] error: at C:/conda/conda-bld/work/boost_1_62_0/tools/build/src/kernel\modules.jam:107 [00:03:43] error: Name clash for '<pbuildboost\boost\bin.v2\standalone\ac\msvc-9.0\release\link-static\threading-multi>main.obj' [00:03:43] error: [00:03:43] error: Tried to build the target twice, with property sets having [00:03:43] error: these incompatible properties: [00:03:43] error: [00:03:43] error: - <dll-path>C:\conda\envs\_build\Library\lib <library-path>C:\conda\envs\_build\Library\lib <xdll-path>C:\conda\envs\_build\Library\lib [00:03:43] error: - none [00:03:43] error: [00:03:43] error: Please make sure to have consistent requirements for these [00:03:43] error: properties everywhere in your project, especially for install [00:03:43] error: targets. [00:03:43] [00:03:43] Command failed: cmd.exe /c bld.bat [00:03:43] Command exited with code 1 Full logs is provided as attachement.
I've got the same error for vc9, vc10 and vc14 for both 32 and 64bits.
I configure with the exact same script I used for 1.61, here's the configure part: call bootstrap.bat .\b2 install
--build-dir=buildboost --prefix=%LIBRARY_PREFIX% toolset=msvc-%VSTRING%.0 address-model=%ARCH% variant=release threading=multi link=static,shared -j%CPU_COUNT% -s ZLIB_INCLUDE="%LIBRARY_INC%"
-s ZLIB_LIBPATH="%LIBRARY_LIB%" Full build script is available as attachement.
I've not seen it reported in the trac tickets, did someone get the same error
Change History (20)
comment:1 by , 6 years ago
comment:3 by , 6 years ago
maybe it comes from https://github.com/boostorg/iostreams/commit/08798f6fffd6b0bf1b08236dedf0b02f6d8aac8a
it seems ZLIB_LIBPATH is no more
comment:4 by , 6 years ago
I confirm that if I remove the -s ZLIB_* options the error is gone,
thanks for the hint!
comment:6 by , 6 years ago
Removing the zlib options allows you to build boost but causes linker error when actually using the boost::iostreams::gzip_decompressor
comment:7 by , 6 years ago
how do I configure properly with zlib support then ? (it tells me "zlib : yes")
comment:8 by , 6 years ago
Component: | configure script → iostreams |
---|---|
Owner: | changed from | to
comment:9 by , 6 years ago
Component: | iostreams → build |
---|---|
Owner: | changed from | to
comment:10 by , 6 years ago
apparently the zlib build logic moved to boost.build: https://github.com/boostorg/build/blob/develop/src/tools/zlib.jam
comment:11 by , 6 years ago
Does that mean that http://www.boost.org/doc/libs/1_63_0/libs/iostreams/doc/installation.html is not up to date ? I am looking for the new correct way to build boost with zlib support on Windows.
comment:12 by , 6 years ago
I tried to use a user-config.jam to setup the zlib dependency but I end up with the same issue. Is there a workaround to build boost 1.62/1.63 with zlib support on Windows ?
comment:13 by , 6 years ago
Question asked on stackoverflow: http://stackoverflow.com/questions/41543505/compiling-boost-1-62-1-63-with-zlib-on-windows
comment:14 by , 6 years ago
No answer at all here or on stackoverflow... Am I the only one interested in having the latest boost on Windows with zlib support ? :(
comment:15 by , 6 years ago
I also encountered the same issue when building boost by using a customized location of zlib and bzip2. It wasted me two days and I still got no clue: the error message is very cryptic and is meaningless (maybe not true to the boost guys). The only way I made it work is to add -I path_of_zlib/bzip2_header to cxxflags and add -Lpath_of_zlib/bzip2_lib to linkflags. It seems one reply in https://github.com/boostorg/iostreams/commit/08798f6fffd6b0bf1b08236dedf0b02f6d8aac8a says the same thing. But it looks to me the pull request does not examine the impact and does not update the document. I would not say that's a complete pull request.
comment:16 by , 6 years ago
I am really surprised that no one even confirmed this is a bug while a new version has been released since then...
comment:17 by , 6 years ago
i can confirm this problem on macOS, but did not find a solution yet :-(
comment:18 by , 6 years ago
I tried using the cxxflags and linkflags without success: zlib is not detected and I vahe missing symbols if I try to use boost::iostreams gzip_compressor. Anyone found a workaround ?
comment:19 by , 6 years ago
This is fixed in the latest 'develop' branch of Boost Build and should be in the next release of Boost.
comment:20 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
full log: https://ci.appveyor.com/project/conda-forge/boost-feedstock/build/1.0.36 build script: https://github.com/conda-forge/boost-feedstock/blob/master/recipe/bld.bat