Boost C++ Libraries: Ticket #11065: BZIP2_BINARY option broken in Windows https://svn.boost.org/trac10/ticket/11065 <p> Documentation ( <a href="http://www.boost.org/doc/libs/1_57_0/libs/iostreams/doc/installation.html">http://www.boost.org/doc/libs/1_57_0/libs/iostreams/doc/installation.html</a> ) suggests that users should be able to link to a precompiled bzip2 library. On Windows, that is not the case. In your Jamfile.v2, the following function breaks that option: </p> <pre class="wiki"># Given a name of library, either 'zlib', or 'bzip2', creates the necessary # main target and returns it. If compression is disabled, returns nothing. # The 'sources' argument is the list of sources names for the library, # which will be used if building the library. rule create-library ( library-name : windows-name unix-name : sources + : requirements * ) { local LIB = $(library-name:U) ; if ! $(library-name) in zlib bzip2 { EXIT "Wrong library name passed to 'create-library' in libs/iostream/build/Jamfile.v2" ; } if [ os.name ] = NT &amp;&amp; ! $($(LIB)_SOURCE) &amp;&amp; ! $($(LIB)_INCLUDE) { if $(debug) { ECHO "notice: iostreams: not using $(library-name) compression " ; } NO_$(LIB) = 1 ; # This is necessary to that test Jamfiles don't run compression # tests when not needed. Dirty, but I don't have time to # write full-blow project module for zlib and bzip2. modules.poke : NO_$(LIB) : 1 ; } &lt;snip /&gt; </pre><p> That conditional needs to also consider whether $($(LIB)_BINARY) is set. As a side note if that conditional is fixed, the correct value for Windows would be "bz2" instead of libbz2. The aforementioned documentation makes it sound like Windows desires the prefix, but that is not the case for bzip2. It is, however, for zlib, which inexplicably doesn't use this rule. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/11065 Trac 1.4.3