Skip to content

Conversation

@netfab
Copy link
Contributor

@netfab netfab commented Jun 22, 2025

Since boost 1.88, ::process::v1 is deprecated and ::process::v2 is the default. AX_BOOST_PROCESS macro is failing to detect the library because of the following compile failure :

configure:24504: checking whether the Boost::Process library is available
configure:24530: g++ -c -I/usr/include conftest.cpp >&5
conftest.cpp: In function 'int main()':
conftest.cpp:59:17: error: 'child' is not a member of 'boost::process'
59 | boost::process::child* child = new boost::process::child; delete child;
| ^~~~~
conftest.cpp:59:24: error: 'child' was not declared in this scope
59 | boost::process::child* child = new boost::process::child; delete child;
| ^~~~~
conftest.cpp:59:52: error: 'child' in namespace 'boost::process' does not name a type
59 | boost::process::child* child = new boost::process::child; delete child;
| ^~~~~
conftest.cpp:59:59: error: type '' argument given to 'delete', expected pointer
59 | boost::process::child* child = new boost::process::child; delete child;
| ^~~~~~~~~~~~
configure:24530: $? = 1

  1. boostorg/process@58586e4
  2. boostorg/process@2ccd97c

Since boost 1.88, ::process::v1 is deprecated and ::process::v2 is the
default. AX_BOOST_PROCESS macro is failing to detect the library because
of the following compile failure :

> configure:24504: checking whether the Boost::Process library is available
> configure:24530: g++ -c   -I/usr/include conftest.cpp >&5
> conftest.cpp: In function 'int main()':
> conftest.cpp:59:17: error: 'child' is not a member of 'boost::process'
>    59 | boost::process::child* child = new boost::process::child; delete child;
>       |                 ^~~~~
> conftest.cpp:59:24: error: 'child' was not declared in this scope
>    59 | boost::process::child* child = new boost::process::child; delete child;
>       |                        ^~~~~
> conftest.cpp:59:52: error: 'child' in namespace 'boost::process' does not name a type
>    59 | boost::process::child* child = new boost::process::child; delete child;
>       |                                                    ^~~~~
> conftest.cpp:59:59: error: type '<type error>' argument given to 'delete', expected pointer
>    59 | boost::process::child* child = new boost::process::child; delete child;
>       |                                                           ^~~~~~~~~~~~
> configure:24530: $? = 1

1. boostorg/process@58586e4
2. boostorg/process@2ccd97c

Signed-off-by: Fabrice Delliaux <[email protected]>
@netfab netfab force-pushed the boost_process_v2 branch from acdddc3 to c231460 Compare June 22, 2025 12:16
@eli-schwartz
Copy link
Contributor

Initial stub work for process::v2 -- boostorg/process@4943c74

I think it may be premature to make this macro completely fail anywhere that boost >=3 years ago is used. For example, Debian Bookworm (oldstable). I'd recommend e.g. conditional compilation in AC_LANG_PROGRAM based on boost/version.hpp, instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants