You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I can add a process/v1.hpp header for 1.89 if that's all you need
Yes this whould be nice
we have some kind of shell launcher which run multiple child process - theese children run subchild processes and so on. But when we close/kill shell(or it crashes) - all subprocesses and subsubprocesses must be guaranteed closed
in other words we use groups to automatic kill all (child)processes in group
$ make |& grep error: |& cut -d: -f4- error: no type named 'child' in namespace 'boost::process' error: no type named 'opstream' in namespace 'boost::process' error: no member named 'std_in' in namespace 'boost::process' error: no member named 'std_out' in namespace 'boost::process' error: no member named 'null' in namespace 'boost::process' error: no member named 'std_err' in namespace 'boost::process' error: no member named 'start_dir' in namespace 'boost::process' error: no member named 'child' in namespace 'boost::process'
I was hit by the changes in 1.88 as well, in that I didn't even know v2 existed. Is there a changelog somewhere of what happened in each release? The overall Boost release notes have no entries for Process that I could find in multiple releases.
Nelson-numerical-software commented on Apr 23, 2025
I will keep the v1 sources around as is and may accept PRs. The v1 interface has major problems, so I had to introduce a breaking change at some point. I would strongly encourage migration.
We did a migration to "get with the program" and modernise some surrounding mess of our own making.
It was the main blocker for moving to boost 1.88.0 and it does seem like we're safely on the other side now.
One positive thing for us is that it aligns better with boost::asio, which we also have in the mix.
Is there some kind of migration guide to move from v1 to v2? For example, I cannot find anywhere where the v2 equivalent of boost::process::v1::spawn would be.
Please update the docs to say which version of Boost introduced v2, and which version made it the default. Especially since you've removed the docs for v1, so users need to go and look at the docs in old releases, but they don't know which old releases because the docs don't say anything about when the changes happened.
Activity
klemens-morgenstern commentedon Apr 11, 2025
I can add a
process/v1.hppheader for 1.89 if that's all you need. If you#define BOOST_PROCESS_VERSION 1the API would be the same.What's your use-case for process groups? I did not add them to v2 because they are too different between posix & windows.
fsmoke commentedon Apr 11, 2025
Yes this whould be nice
we have some kind of shell launcher which run multiple child process - theese children run subchild processes and so on. But when we close/kill shell(or it crashes) - all subprocesses and subsubprocesses must be guaranteed closed
in other words we use groups to automatic kill all (child)processes in group
klemens-morgenstern commentedon Apr 11, 2025
Are you running windows & posix or just one?
fsmoke commentedon Apr 12, 2025
Yes, we have cross platform product for windows and couple of linux distros
Nelson-numerical-software commentedon Apr 14, 2025
Will v1 compatibility continue to be maintained or will we start migrating to v2?
nega0 commentedon Apr 17, 2025
If this bit you too, and you got something like
You now want something like
klemens-morgenstern commentedon Apr 18, 2025
You can also define
BOOST_PROCESS_VERSION 1so all the v1 symbols are inboost::processand notboost::process::v1.jakobandersen commentedon Apr 23, 2025
I was hit by the changes in 1.88 as well, in that I didn't even know v2 existed. Is there a changelog somewhere of what happened in each release? The overall Boost release notes have no entries for Process that I could find in multiple releases.
Nelson-numerical-software commentedon Apr 23, 2025
Will compatibility with version 1 continue to be maintained in future releases, or migration to version 2 is required ?
klemens-morgenstern commentedon Apr 28, 2025
There is documentation of the v2 IF here: https://www.boost.org/doc/libs/1_88_0/libs/process/doc/html/index.html#version_2
The v2 was added several versions ago, I think in 1.81. I sadly have to admit that I am bad at release notes.
I will keep the v1 sources around as is and may accept PRs. The v1 interface has major problems, so I had to introduce a breaking change at some point. I would strongly encourage migration.
nigels-com commentedon Apr 29, 2025
We did a migration to "get with the program" and modernise some surrounding mess of our own making.
It was the main blocker for moving to boost 1.88.0 and it does seem like we're safely on the other side now.
One positive thing for us is that it aligns better with boost::asio, which we also have in the mix.
toonetown commentedon May 2, 2025
Is there some kind of migration guide to move from v1 to v2? For example, I cannot find anywhere where the v2 equivalent of
boost::process::v1::spawnwould be.klemens-morgenstern commentedon May 2, 2025
You can find a summary here: https://www.boost.io/doc/libs/latest/doc/html/process.html#version_2
spawn(...)would beprocess(...).detach().repo: add rgw-lua-boost-process-v1.patch
Quick fix for Boost 1.88 which breaks the build
24 remaining items
jwakely commentedon Jan 14, 2026
Please update the docs to say which version of Boost introduced v2, and which version made it the default. Especially since you've removed the docs for v1, so users need to go and look at the docs in old releases, but they don't know which old releases because the docs don't say anything about when the changes happened.
It doesn't mention that there is no
search_pathin v2.jwakely commentedon Jan 14, 2026
Edit: looks like the replacement is
environment::find_executable? Maybe mention at https://www.boost.org/doc/libs/latest/libs/process/doc/html/index.html#environment that it replacesv1::search_path, for people trying to find info on how to migrate.{test,rgw,tools}: Explicitly use Boost.Process v1