Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 827899 - dev-libs/boost-1.77.0-r3 - boost::process build failure - error: 'transform' is not a member of 'std'
Summary: dev-libs/boost-1.77.0-r3 - boost::process build failure - error: 'transform' ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: David Seifert
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2021-11-30 12:06 UTC by Fab
Modified: 2021-12-01 17:24 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
main.cxx test case (main.cxx,110 bytes, text/plain)
2021-12-01 09:27 UTC, Fab
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Fab 2021-11-30 12:06:11 UTC
With dev-libs/boost-1.77.0-r3 installed, save the following code as main.cxx :

> #include <boost/process.hpp>
>
> int main(int argc, char *argv[])
> {
>	boost::process::spawn("ls");
>
>	return 0;
> }

Compile it with :
> $ g++ main.cxx -o out -std=c++14 -Wfatal-errors

You'll get :

> In file included from /usr/include/boost/process/detail/basic_cmd.hpp:14,
>                 from /usr/include/boost/process/args.hpp:33,
>                 from /usr/include/boost/process.hpp:22,
>                 from main.cxx:2:
> /usr/include/boost/process/detail/traits/wchar_t.hpp: In static member function 'static std::vector<std::__cxx11::basic_string<wchar_t> > boost::process::detail::char_converter<wchar_t, std::vector<std::__cxx11::basic_string<char> > >::conv(const std::vector<std::__cxx11::basic_string<char> >&)':
> /usr/include/boost/process/detail/traits/wchar_t.hpp:150:14: error: 'transform' is not a member of 'std'
>  150 |         std::transform(in.begin(), in.end(), ret.begin(),
>      |              ^~~~~~~~~
> compilation terminated due to -Wfatal-errors.

Same code builds fine with dev-libs/boost-1.76.0-r1.

Upstream patch to fix build failure :
https://github.com/boostorg/process/commit/e08374ed95ac33865bda40602c94909e7cd9607f

Reproducible: Always
Comment 1 Fab 2021-12-01 09:27:01 UTC
Created attachment 757121 [details]
main.cxx test case

> $ g++ main.cxx -o out -std=c++14 -Wfatal-errors

Builds fine with dev-libs/boost-1.76.0-r1.
Don't build with dev-libs/boost-1.77.0-r3.
Comment 2 Larry the Git Cow gentoo-dev 2021-12-01 17:24:11 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ee39fdbf2c51fede474fdb99207a444af5ac23d

commit 1ee39fdbf2c51fede474fdb99207a444af5ac23d
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2021-12-01 17:23:54 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2021-12-01 17:23:54 +0000

    dev-libs/boost: add missing include in 'process'
    
    Closes: https://bugs.gentoo.org/827899
    Signed-off-by: Sam James <sam@gentoo.org>

 ...{boost-1.77.0-r3.ebuild => boost-1.77.0-r4.ebuild} |  1 +
 .../files/boost-1.77.0-fix-process-include.patch      | 19 +++++++++++++++++++
 2 files changed, 20 insertions(+)