BUG intel toolset causes ambiguity in <file> prebuilt library

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

BUG intel toolset causes ambiguity in <file> prebuilt library

Daniel Einspanjer
I mentioned this on an old thread, but I am afraid it might be buried and
not noticed so I decided to write up a new description of the problem.

Using CVS HEAD of BB and intel-linux 8 toolset, prebuilt <file> targets
cause BB to fail stating there is an ambiguity between the intel generator
and the builtin one.

Vlad fixed this a while back for <name>ed system libraries by adding a
generators.override to the searched-lib-generator.

There is another line just above that fix that states:
    generators.override builtin.lib-generator : intel-linux.prebuilt ;

And I am wondering if it might be a typo. Shouldn't it be:
    generators.override builtin.prebuilt : intel-linux.prebuilt ;

I have attached a modifed version of the Jamroot from the
"examples/libraries" example that demonstrates the problem.
If you perform a "bjam fubar" to create the .a file then "bjam app2" to try
to link against it you should get the ambiguity error.
Changing the line above fixes that but I don't know if it might cause
trouble elsewhere (Although I haven't seen such trouble so far).

Daniel

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

Jamroot (625 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: BUG intel toolset causes ambiguity in <file> prebuilt library

Vladimir Prus

Hi Daniel,

> I mentioned this on an old thread, but I am afraid it might be buried and
> not noticed so I decided to write up a new description of the problem.
>
> Using CVS HEAD of BB and intel-linux 8 toolset, prebuilt <file> targets
> cause BB to fail stating there is an ambiguity between the intel generator
> and the builtin one.
>
> Vlad fixed this a while back for <name>ed system libraries by adding a
> generators.override to the searched-lib-generator.
>
> There is another line just above that fix that states:
>     generators.override builtin.lib-generator : intel-linux.prebuilt ;
>
> And I am wondering if it might be a typo.

That line is not a typo. Without it, both builtin.lib-generator and
intel-linux.prebuilt would be tried, and both succeed, that that would be an
ambiguity.

> Shouldn't it be:
>     generators.override builtin.prebuilt : intel-linux.prebuilt ;

In fact, there should be extra line:

  generators.override intel-linux.prebuilt : builtin.prebuilt ;

that resolves conflict between another pair of generators in favour of
intel-linux.prebuilt.

I've comitted the fix, thanks for reporting!

- Volodya



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