|
Boost-Build : |
Subject: [Boost-build] Problem building iostreams with zlib
From: Edward Diener (eldiener_at_[hidden])
Date: 2016-12-06 20:53:25
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
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