|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2003-08-14 09:56:36
Samuel Krempp <krempp_at_[hidden]> writes:
> As said in the "Re: Release of 1.30.2 imminent" thread,
> recent regressions for intel-linux-7.1 on ios_state and format
> (eg
> http://boost.sourceforge.net/regression-logs/cs-Linux-links.html#format_test1-intel-7.1)
> report weird linking erros (due to pthread symbols not found).
>
>
> In fact, ios_state and format are the only boost libs with static-linked
> tests, and I suspect this triggers a problem with the intel-linux
> toolset.
>
> I can solve the errors by adding "<threads>multi" as a build
> requirement, but I'd prefer not.
>
> If I change format's test Jamfile to use dynamic linking, intel-linux
> links (and runs) ok.
> but then metrowerks would fail because it supports <locale> only with
> static-linking.
>
>
> I see 2 ways out, but dont know how to actually implement them, so
> either :
> 1. someone understands the situation with intel-linux and fixes this
> toolset
> 2. soemeone tells me how to have a build requirement for a specific
> compiler in a Jamfile, so as to use static-linking only for metrowerks.
>
> solution 2 is enough to work around the intel-linux problem for now, but
> it would be good to fix the intel-linux toolset static-linking problem.
>
>
> Oh, and would it be important to fix that before releasing 1.30.2, or
> can it just wait ?
I think we should fix it.
The fix is pretty easy; just add
<intel-linux><*><runtime-link>static
to the requirements. Alternatively, you could use something like:
local rtlink = <runtime-link>static
if $(NT)
{
rtlink = <runtime-link>dynamic
}
and then add $(rtlink) to the target requirements. This is a bit more
reliable because we have a proliferation of very specific toolset
names at this point (i.e. it might not match "metrowerks" or
"intel-linux").
Please let me know if it works out,
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk