Boost logo

Boost-Build :

Subject: Re: [Boost-build] Why the 1.6.x's mangle name rule is different from 1.5.x
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2018-03-09 19:23:47


On 03/01/2018 10:23 PM, jiang dong Sun via Boost-build wrote:
> Recently I built boost 1.66, found the build libraries contain
> different mangled name with the former one in 1.59.
> For example
> In 1.59,
> # nm -CD ./stage/lib/ | grep get_mem_block
> 00000000000ad530 T boost::re_detail::get_mem_block()
> while in 1.66,
> nm -CD ./stage/lib/ | grep get_mem_block
> 00000000001f5f78 T boost::re_detail_106600::get_mem_block()
> The new version's mangled name contains the boost version number '_106600'.
> That make the link fail.
> Is this a bug or a rule change?

  This is specific to Boost.Regex and is intentional.
You can't reliably link to a different version of
Boost from the version with which you compiled your

> BTW, my build command is as below.
> ./b2 -j 8 --layout=tagged --buildid=single threading=single
> link=shared,static cxxflags=-fPIC --without-locale --without-thread
> --without-wave stage

In Christ,
Steven Watanabe

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at