Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-11-29 03:40:45


On Friday 26 November 2004 19:54, Toon Knapen wrote:

> I'm pretty sure you added the <parallelism> feature example after a
> similar question from me;-) Only now I start to really understand the
> power of this and how to do it. So I tried it but bjam tells me that I
> have a recursivity problem and have no idea why.

Hi Toon,
after looking at the testcase you actually provided (as opposed to some other
archive), I understand the problem better.

You define libmpi which happens to be built with <parallelism>mpi, which is
expanded to reference to libmpi, so libmpi is built again, giving the error.

The solution which works for me is:
1. Moving <define> and <include> from mpiheaders to libmpi
2. Marking libmpi "explicit" so that it's built only when explicitly
requested.

The resulting definition looks like:

lib libmpi
: # sources
#mpiheaders
: # requirements
<file>/usr/lib/libz.a
#<parallelism>none
: # default-build
: # usage-requirements
<define>$(MPI_DEFINES)
<include>/usr/local/mpich-1.2.5.2/include
#<use>/user-config//mpiheaders/<parallelism>none
;
explicit libmpi ;

I'll think if this "reference to self" should be error or just ignored.

HTH,
Volodya

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk