Boost logo

Boost-Build :

Subject: Re: [Boost-build] Problem building iostreams with zlib
From: Edward Diener (eldiener_at_[hidden])
Date: 2016-12-06 21:30:51


On 12/6/2016 8:53 PM, Edward Diener wrote:
> I try to build the iostreams library with zlib support on Windows. I
> have a binary DLL called zlib1.dll in the PATH, my import library is at
> E:\Utilities\zlib\lib and my include files are at
> E:\Utilities\zlib\include. In my user-config.jam I have:
>
> using zlib : 1.2.8 : <search>E:/Utilities/zlib/lib
> <include>E:/Utilities/zlib/include <name>zdll ;
>
> I invoke b2 from the iostreams build directory as:
>
> b2 --build-dir=C:/Programming/VersionControl/modular-boost/build
> --reconfigure "-sNO_BZIP2=1" -d2 toolset=gcc-6.2

If I change this to:

b2 --build-dir=C:/Programming/VersionControl/modular-boost/build
--reconfigure "-sNO_BZIP2=1" -d2 toolset=msvc-14.0

everything works correctly. In other words using mingw-64/gcc-6.2
creates the error seen below but using VC++14 does not. Perhaps my
'using zlib...' line for mingw-64/gcc-6.2 must be different but I do not
know what it needs to be.

>
> The output ends with:
>
> gcc.compile.c++
> C:\Programming\VersionControl\modular-boost\build\boost\architecture\gcc-mingw-6.2\debug\sparc.o
>
>
>
> "C:/Utilities/mingw-w64/i686-6.2.0-posix-dwarf-rt_v5-rev1/mingw32/bin/g++"
> -ftemplate-depth-128 -Wno-unused-local-typedefs
> -ftrack-macro-expansion=0 -Wno-unused-variable -std=c++03 -O0
> -fno-inline -Wall -g -c -o
> "C:\Programming\VersionControl\modular-boost\build\boost\architecture\gcc-mingw-6.2\debug\sparc.o"
> "..\..\..\libs\config\checks\architecture\sparc.cpp"
>
> ..\..\..\libs\config\checks\architecture\sparc.cpp:10:2: error: #error
> "Not SPARC"
> #error "Not SPARC"
> ^~~~~
> ...failed gcc.compile.c++
> C:\Programming\VersionControl\modular-boost\build\boost\architecture\gcc-mingw-6.2\debug\sparc.o...
>
> ...failed updating 1 target...
> - sparc : no
> ...found 2 targets...
> - x86 : yes
> ...found 10 targets...
> - zlib : yes
> error: at
> E:/Programming/VersionControl/modular-boost/tools/build/src/kernel\modules.jam:107
>
> error: Name clash for
> '<pC:\Programming\VersionControl\modular-boost\build\boost\bin.v2\standalone\ac\gcc-mingw-6.2\debug>zdll.exe'
>
> error:
> error: Tried to build the target twice, with property sets having
> error: these incompatible properties:
> error:
> error: - none
> error: - <address-model>32 <architecture>x86
> <deduced-address-model>32 <deduced-architecture>x86
> error:
> error: Please make sure to have consistent requirements for these
> error: properties everywhere in your project, especially for install
> error: targets.
>
> In the latest iostreams build jamfile you can see these relevant lines:
>
> for local v in NO_COMPRESSION
> NO_ZLIB
> NO_BZIP2
> {
> $(v) = [ modules.peek : $(v) ] ;
> }
>
> if $(NO_COMPRESSION) != 1 && $(NO_ZLIB) != 1
> {
> using zlib : : <build-name>boost_zlib <tag>@tag : : true ;
> zlib-requirements =
> [ ac.check-library /zlib//zlib : <library>/zlib//zlib
> <source>zlib.cpp <source>gzip.cpp ] ;
> }
> else
> {
> if $(debug)
> {
> ECHO "notice: iostreams: not using zlib compression " ;
> }
> }
>
> local sources = file_descriptor.cpp mapped_file.cpp ;
>
> lib boost_iostreams
> : $(sources)
> : <link>shared:<define>BOOST_IOSTREAMS_DYN_LINK=1
> <define>BOOST_IOSTREAMS_USE_DEPRECATED
> $(zlib-requirements)
> $(bzip2-requirements)
> :
> : <link>shared:<define>BOOST_IOSTREAMS_DYN_LINK=1
> ;
>
> Why am I having the problem that I am seeing ?


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