link rules and "piecemeal"

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

link rules and "piecemeal"

Boost - Build mailing list
Hi all,

I was trying to figure out some very strange linking behavior where
symbols where missing.

I finally tracked it down in tools/darwin.jam. I don't know if this is a
problem on other platforms.

Anyway, at the bottom it says

actions piecemeal achieve
{
    ...
}

So what happened for me was that the link command was too long and so
bjam generated two commands because of "piecemeal". The end result was
that the second invocation overwrote the lib file, resulting in a lib
file with only 10% of the compiled object files.

I fixed it by adding --abbreviate-paths to the command line, but it
would have been nice if the tool would give an error instead of silently
generating two incompatible achieve commands.

kind regards

Thorsten

_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: link rules and "piecemeal"

Boost - Build mailing list
AMDG

On 11/13/2017 01:43 AM, Thorsten Ottosen via Boost-build wrote:

>
> I was trying to figure out some very strange linking behavior where
> symbols where missing.
>
> I finally tracked it down in tools/darwin.jam. I don't know if this is a
> problem on other platforms.
>
> Anyway, at the bottom it says
>
> actions piecemeal achieve
> {
>    ...
> }
>
> So what happened for me was that the link command was too long and so
> bjam generated two commands because of "piecemeal". The end result was
> that the second invocation overwrote the lib file, resulting in a lib
> file with only 10% of the compiled object files.
>
> I fixed it by adding --abbreviate-paths to the command line, but it
> would have been nice if the tool would give an error instead of silently
> generating two incompatible achieve commands.
>

  The rm needs to be split off into a separate action,
so that piecemeal will actually work.

In Christ,
Steven Watanabe

_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build