Boost logo

Boost Users :

From: Nicholas Williams (nicholas_at_[hidden])
Date: 2025-01-17 02:41:47


The one thing that is still not right after getting BCP working with the
patch in the previous email is the .so/.dylib/.dll file names. Previously,
they came out looking like this:

libboost_MYextralLabel_chrono-macos15-clang16-arm-d.dylib

Now they look like this:

libboost_chrono-macos15-clang16-arm-d.dylib

Did the changes we made to Jamroot cause this? Or is there something
somewhere else that needs a patch? It seems we need the file names to be
correct (the way they were before).

Thanks,

Nick

On Thu, Jan 16, 2025 at 7:44 PM Nicholas Williams <
nicholas_at_[hidden]> wrote:

> This helped me a lot, however. I was able to expand on your suggested
> patch. Everything works perfectly if I patch Jamroot as follows before
> running bcp:
>
> --- boost/Jamroot 2025-01-12 12:14:52
> +++ boost/Jamroot.new 2025-01-16 15:09:03
> @@ -305,24 +305,24 @@
> # First, the complicated libraries: where the target name in Jamfile is
> # different from its directory name.
> explicit
> - [ alias prg_exec_monitor : libs/test/build//boost_prg_exec_monitor ]
> - [ alias test_exec_monitor : libs/test/build//boost_test_exec_monitor ]
> - [ alias unit_test_framework :
> libs/test/build//boost_unit_test_framework ]
> - [ alias serialization : libs/serialization/build//boost_serialization
> ]
> - [ alias wserialization :
> libs/serialization/build//boost_wserialization ]
> + [ alias prg_exec_monitor : libs/test/build//"boost"_prg_exec_monitor ]
> + [ alias test_exec_monitor :
> libs/test/build//"boost"_test_exec_monitor ]
> + [ alias unit_test_framework :
> libs/test/build//"boost"_unit_test_framework ]
> + [ alias serialization :
> libs/serialization/build//"boost"_serialization ]
> + [ alias wserialization :
> libs/serialization/build//"boost"_wserialization ]
> ;
> for local l in $(all-libraries-to-build)
> {
> if ! $(l) in test graph serialization headers
> {
> - explicit [ alias $(l) : libs/$(l)/build//boost_$(l) ] ;
> + explicit [ alias $(l) : libs/$(l)/build//"boost"_$(l) ] ;
> }
> }
> for local l in $(all-libraries-modular-build)
> {
> if ! $(l) in test graph serialization headers
> {
> - explicit [ alias $(l) : /boost/$(l)//boost_$(l) ] ;
> + explicit [ alias $(l) : /boost/$(l)//"boost"_$(l) ] ;
> }
> }
>
> @@ -449,7 +449,7 @@
> local lib-module
> = [ project.load $(lib-path) : synthesize ] ;
> modules.poke $(lib-module) : BOOST_LIB_PROJECT : /boost/$(lib) ;
> - modules.poke $(lib-module) : BOOST_LIB_TARGET : boost_$(lib) ;
> + modules.poke $(lib-module) : BOOST_LIB_TARGET : "boost"_$(lib) ;
> project.push-current [ project.target $(lib-module) ] ;
> module $(lib-module)
> {
>
> On Thu, Jan 16, 2025 at 2:46 PM Nicholas Williams <
> nicholas_at_[hidden]> wrote:
>
>> This got me further, but it ultimately still failed later in the config
>> with a similar error:
>>
>> ...
>> - std_wstreambuf builds : yes [2]
>> - std_wstreambuf : yes [2]
>> - BOOST_COMP_GNUC >= 4.3.0 : no [2]
>> - BOOST_COMP_GNUC >= 4.3.0 : no [3]
>> error: Unable to find file or target named
>> error: 'libs/thread/build//boost_MYextralLabel_thread'
>> error: referred to from project at
>> error: '.'
>>
>> Notable differences in this error message are that now the target it's
>> unable to find contains my custom namespace, and now the project referring
>> to it is '.' instead of a path to subdirectory.
>>
>> Also notable that this new error is the same error I previously received
>> if I deleted the 'boost' output directory after running `bcp` but before
>> running `bootstrap`. So it seems that your suggested past gets past one bug
>> but reveals the next bug.
>>
>> Thanks,
>>
>> Nick
>>
>>
>> On Thu, Jan 16, 2025 at 1:01 PM Дмитрий Архипов via Boost-users <
>> boost-users_at_[hidden]> wrote:
>>
>>> чт, 16 янв. 2025 г. в 18:09, Nicholas Williams via Boost-users
>>> <boost-users_at_[hidden]>:
>>> > error: Unable to find file or target named
>>> > error: '/boost/align//boost_align'
>>> > error: referred to from project at
>>> > error: '{dir}/_dst/libs/atomic/build'
>>> > make: *** [build] Error 1
>>>
>>> That is a bug in bcp. If you're looking for a quick fix, find this
>>> line in Jamroot:
>>>
>>> modules.poke $(lib-module) : BOOST_LIB_TARGET : boost_$(lib) ;
>>>
>>> And replace it with
>>>
>>> modules.poke $(lib-module) : BOOST_LIB_TARGET : "boost"_$(lib) ;
>>>
>>> Then run bcp again.
>>> _______________________________________________
>>> Boost-users mailing list
>>> Boost-users_at_[hidden]
>>> https://lists.boost.org/mailman/listinfo.cgi/boost-users
>>>
>>



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