Boost logo

Boost-Build :

Subject: Re: [Boost-build] Baffling error message
From: Dave Abrahams (dave_at_[hidden])
Date: 2011-04-10 09:17:35


On Sun, Apr 10, 2011 at 3:54 AM, Vladimir Prus <ghost_at_[hidden]> wrote:
> 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.

Well I care, but I don't know how to fix it, and the MPI maintainers
don't have time, so I'd appreciate anything you can do.

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com

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