Boost logo

Boost-Build :

Subject: Re: [Boost-build] Baffling error message
From: Vladimir Prus (ghost_at_[hidden])
Date: 2011-04-10 03:54:52


On Friday, April 01, 2011 19:45:28 Vladimir Prus wrote:
> On Friday, April 01, 2011 19:13:03 Steven Watanabe wrote:
> > AMDG
> >
> > On 04/01/2011 07:21 AM, Dave Abrahams wrote:
> > > At Fri, 01 Apr 2011 07:08:26 -0700,
> > >
> > > Steven Watanabe wrote:
> > >> On 04/01/2011 05:31 AM, Dave Abrahams wrote:
> > >>> Can anyone explain this error for me, and help me avoid it? The
> > >>> command arguments are given here:
> > >>>
> > >>> *** in s:\: executing '['s:\\bjam.exe',
> > >>> '--user-config=I:\\user-config.jam',
> > >>> '--build-dir=I:\\1_46_1-installer\\build',
> > >>> '--stagedir=I:\\1_46_1-installer\\stage', '--debug-configuration',
> > >>> '-j2', 'debug', 'release',
> > >>> 'threading=multi/link=shared,static/runtime-link=shared',
> > >>> 'threading=multi,single/link=static/runtime-link=static', 'stage',
> > >>> 'toolset=msvc-10.0express,msvc-9.0express,msvc-8.0express,msvc-7.1']'
> > >>>
> > >>> error: Duplicate name of actual
> > >>> target:<pI:\1_46_1-installer\stage\lib>mpi.pyd
> > >>
> > >> The name of this library is not mangled,
> > >> so you can't put two versions of it in
> > >> the same directory.
> > >
> > > Thanks, Steven, but I have basically no idea what that means. I
> > > didn't do anything special here other than issue the build command
> > > above from the Boost root directory. I didn't try to put two versions
> > > in the same directory, AFAIK.
> >
> > It looks like this is similar to
> > http://lists.boost.org/Archives/boost/2009/11/158505.php
> > It doesn't look like anything was done about this,
> > and I don't think it would really solve your
> > problem anyway. Here's the thing: You've asked
> > to build with multiple toolsets and multiple
> > configurations. Because of the way the mpi
> > python extension is defined, only a single
> > configuration can be installed. However,
> > I don't think any single configuration is
> > correct in this case. The best idea I have
> > right now is
> >
> > 1) go to libs/mpi/build/Jamfile.v2 and add
> >
> > explicit mpi ;
> > after the python-extension is declared.
> >
> > 2) Build everything else.
> > 3) Figure out which variants of mpi.pyd you actually want to build.
> > 4) Run bjam libs/mpi/build//mpi <other options>
> >
> > (You can leave out --stage-dir, it doesn't have any effect)
> >
> > 5) Find the binaries in build\libs\mpi\build\...\mpi.pyd and
> >
> > figure out where to put them
>
> Note that I've asked Boost.MPI maintainers what to do, here:
>
> http://thread.gmane.org/gmane.comp.lib.boost.devel/213520/focus=213533
>
> As you see, I haven't got an answer. Frankly, I think the right approach
> here is to always build the extension using threading=multi variant=debug
> link=shared runtime- link=shared.

Okay, it seems like nobody cares about this? If so, I'll just make the change
suggested above.

- Volodya

-- 
Vladimir Prus
http://vladimir_prus.blogspot.com
Boost.Build: http://boost.org/boost-build2

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