|
Boost Users : |
Subject: Re: [Boost-users] boost 1.63 fails to build with zlib and bzip2 in different directories
From: Andrea Bocci (andrea.bocci_at_[hidden])
Date: 2017-01-05 13:13:15
On 01/05/2017 10:34 AM, Edward Diener wrote:
> Try removing the -sBZIP2... and -sZLIB... lines and adding to your
> userconfig.jam:
>
> using bzip2 : 1.0.6 : <include>full-path-to/bzip2-1.0.6
> <search>full-path-to/bzip2-1.0.6 ;
> using zlib : 1.2.10 : <include>full-path-to/zlib-1.2.10
> <search>full-path-to/zlib-1.2.10 ;
On 5 January 2017 at 18:42, Steven Watanabe <watanabesj_at_[hidden]> wrote:
> That will have the same problem. The bug
> is at a pretty low level. It will trigger
> regardless of how you specify the paths.
Hi Edward, Steven,
indeed, replacing the -SBZIP2... and -sZLIB... lines with the suggested
entries in user-config.jam gives me the same problem.
In the meantime I've followed the problem down to
libs/iostreams/build/Jamfile.v2 - here is a simplified version of it that
causes the same error:
$ cat ~/user-config.jam
# local installation of bzip2
using bzip2 : 1.0.6 : <include>/home/fwyzard/src/boost/bzip2-1.0.6
<search>/home/fwyzard/src/boost/bzip2-1.0.6 ;
# local installation of zlib
using zlib : 1.2.10 : <include>/home/fwyzard/src/boost/zlib-1.2.10
<search>/home/fwyzard/src/boost/zlib-1.2.10 ;
$ cat Jamfile.v2
project /boost/iostreams : source-location ../src ;
local sources = file_descriptor.cpp mapped_file.cpp zlib.cpp gzip.cpp
bzip2.cpp ;
lib boost_iostreams
: $(sources)
: <link>shared:<define>BOOST_IOSTREAMS_DYN_LINK=1
<define>BOOST_IOSTREAMS_USE_DEPRECATED
<library>/zlib//zlib
<library>/bzip2//bzip2
:
: <link>shared:<define>BOOST_IOSTREAMS_DYN_LINK=1
;
boost-install boost_iostreams : bzip2-requirements ;
However, if I replace the library definitions with my own, it does work:
$ cat Jamfile.v2
project /boost/iostreams : source-location ../src ;
local sources = file_descriptor.cpp mapped_file.cpp zlib.cpp gzip.cpp
bzip2.cpp ;
lib zlib
:
: <name>z <include>/home/fwyzard/src/boost/common/include
<search>/home/fwyzard/src/boost/common/lib
;
lib bzip2
:
: <name>bz2 <include>/home/fwyzard/src/boost/common/include
<search>/home/fwyzard/src/boost/common/lib
;
lib boost_iostreams
: $(sources)
: <link>shared:<define>BOOST_IOSTREAMS_DYN_LINK=1
<define>BOOST_IOSTREAMS_USE_DEPRECATED
<library>/zlib//zlib
<library>/bzip2//bzip2
:
: <link>shared:<define>BOOST_IOSTREAMS_DYN_LINK=1
;
boost-install boost_iostreams : bzip2-requirements ;
So it seems to be a problem with the way tools/build/src/tools/bzip2.jam ,
tools/build/src/tools/zlib.jam , etc. are implemented ?
Is there a way to see what
<library>/zlib//zlib
<library>/bzip2//bzip2
expand to ?
Thank you,
.Andrea
-- Strategy is a system of expedients. Generalfeldmarschall Helmuth Karl Bernhard Graf von Moltke
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net