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:2 by anonymous, 6 years ago

I can confirm I have the same issue when specifying the ZLIB_LIBPATH

comment:4 by anonymous, 6 years ago

I confirm that if I remove the -s ZLIB_* options the error is gone,

thanks for the hint!

comment:5 by anonymous, 6 years ago

but it's still a bug as the error is cryptic

comment:6 by anonymous, 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 anonymous, 6 years ago

how do I configure properly with zlib support then ? (it tells me "zlib : yes")

comment:8 by anonymous, 6 years ago

Component: configure scriptiostreams
Owner: changed from Douglas Gregor to Jonathan Turkanis

comment:9 by anonymous, 6 years ago

Component: iostreamsbuild
Owner: changed from Jonathan Turkanis to Vladimir Prus

comment:10 by anonymous, 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 anonymous, 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 anonymous, 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:14 by anonymous, 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 anonymous, 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 anonymous, 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 anonymous, 6 years ago

i can confirm this problem on macOS, but did not find a solution yet :-(

comment:18 by anonymous, 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 Edward Diener, 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 Steven Watanabe, 5 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.