Sorry, silly copy and paste error, the working jam file is obviously
$ 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
<library>bzip2
:
: <link>shared:<define>BOOST_IOSTREAMS_DYN_LINK=1
;
boost-install boost_iostreams : bzip2-requirements ;
Thank you,
.Andrea
On 5 January 2017 at 19:13, Andrea Bocci
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
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
-- Strategy is a system of expedients. Generalfeldmarschall Helmuth Karl Bernhard Graf von Moltke