|
Boost Users : |
Subject: Re: [Boost-users] [boost 1.36]: Problems with bjam option --buildid
From: Vladimir Prus (vladimir_at_[hidden])
Date: 2008-11-03 10:02:38
Daniel Krügler wrote:
> Vladimir Prus wrote:
>> Daniel Krügler wrote:
>>
>>> Hello,
>>>
>>> a colleague of mine currently checks whether transition to
>>> boost 1.36 (or upcoming 1.37) would be feasible for us.
>>> Still being on 1.33.1, we manipulated the bjam files to
>>> realize something that we hope can now be done with the build
>>> option --buildid using the *non-manipulated* bjam files. A
>>> recent test using the command line
>>>
>>> bjam --build-dir=XX --buildid=asdf --toolset=msvc
>>> --build-type=complete stage
>>>
>>> where XX corresponds to a valid path causes a quick bjam build error
>>> (but removing the part " --buildid=asdf" works fine), as shown
>>> below. Let me add that the used bjam.exe was created based on the
>>> sources provided by the very same boost 1.36 (build.bat).
>>>
>>> Does anyone have an idea what's going wrong here?
>>>
>>> Thanks & Greetings from Bremen,
>>>
>>> Daniel
>>>
>>> "warning: Graph library does not contain optional GraphML reader.
>>> note: to enable GraphML support, set EXPAT_INCLUDE and EXPAT_LIBPATH to the
>>> [..]
>>> Skipping build of: libs/python/build/boost_python <build>no in common
>>> properties
>>> E:/sources/ntb/boost_1_36_0/tools/build/v2/build\virtual-target.jam:1032:
>>> in virtual-target.register-actual-name from module virtual-target
>>> error: Duplicate name of actual target: <pstage\lib>libexact.lib
>>
>> This is very strange. Does this error only happens with --buildid?
>> Does this happen when building a single library (e.g. --with-program_options)?
>> Do you think you can go to tools/build/v2/tools/stage.jam, find the copy-file
>> rule, and, before the return statement, add this code:
>>
>> ECHO "Name is" $(name) ;
>>
>> ? (BTW, we probably can solve this faster either on IRC (freenode, #boost), or via
>> Skype (vladimir_prus)).
>
> Unfortunately our IT center wont like that :-((
> We can discuss details off-line, my e-mail address is:
>
> dan~stopper~iel.krueg~stopper~ler_at_goo~stopper~gle~stopper~mail.com.
We talked with Daniel via Gmail-Talk-does-not-care-about-firewall thing, and diagnosed
the issue.
With buildid is specified, and layout is versioned, which is the default, the
produced names are like this:
stage/lib/libboost_program_options-mgw42-mt-1_37.so.1.37.0
Boost.Build automatically creates a link in the form
stage/lib/libboost_program_options-mgw42-mt-1_37.so
And C++ Boost's Jamroot additionally creates this link:
stage/lib/libboost_program_options-mgw42-mt.so
Now, if buildid is specified, the names are like this:
stage/lib/libboost_program_options-mgw42-mt-1_37-xxx.so.1.37.0
and Jamroot code was buggy. Now the question is what symlink should be produced:
stage/lib/libboost_program_options-mgw42-mt.so
or
stage/lib/libboost_program_options-mgw42-mt-xxx.so
Daniel, you get to decide :-)
- Volodya
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net